2015-06-21 17 views
6

Tôi có kho lưu trữ tarbell lớn với error_log quá lớn hoặc bị hỏng khiến lưu trữ bị treo khi cố gắng giải nén tệp đó. Có cách nào để loại bỏ điều này khỏi kho lưu trữ trước khi giải nén hoặc giải nén kho lưu trữ mà không cần giải nén tệp cụ thể đó trên thiết bị đầu cuối Mac OS X không?Làm cách nào để xóa một tệp khỏi kho lưu trữ tar.gz

tôi thấy bài này về cách efficiently-remove-files-from-large-tgz Tuy nhiên, tôi đã cố gắng cờ --delete, nhưng không nhận được lỗi này:

tar: Option --delete is not supported 

Có cách nào để:

  1. loại bỏ các tập tin từ lưu trữ mà không giải nén nó?
  2. giải nén tệp lưu trữ nhưng loại trừ tệp?
+0

Phiên bản nào của 'tar' bạn đang sử dụng? Nếu lỗi thời của nó thì hãy thử cập nhật lên phiên bản mới nhất và kiểm tra trang 'man' nếu' tar' hỗ trợ '--delete' làm tùy chọn. –

+1

Tùy chọn '--delete' dành riêng cho một số chương trình' tar' (đặc biệt là mặc định có sẵn trong linux). Từ bộ nhớ, tar mặc định dưới các macro không hỗ trợ điều đó. Bạn sẽ cần phải đọc tập tin người đàn ông/trợ giúp, hoặc có được một chương trình hỗ trợ chức năng như vậy. Tất cả các lỗi khác, giải nén tệp '.tar.gz', trích xuất mọi thứ từ tệp lưu trữ, xóa tệp không mong muốn và sau đó tạo lại tệp lưu trữ. – Peter

+0

Santosh và Peter, cảm ơn bạn rất nhiều vì phản hồi của bạn. Santosh, không chắc chắn phiên bản tar nào đang chạy trên Mac OS x hay cách cập nhật nó. Peter, cảm ơn quá. Đây không phải là một tùy chọn, vì việc giải nén tệp nén không thành công do lỗi error_log lớn như thế nào. – KillerDesigner

Trả lời

9

Như đã đề cập trong các ý kiến ​​đó là không thể để loại bỏ các tập tin sử dụng tar, nhưng bạn có thể loại trừ các tập tin khi giải nén:

tar -zxvf file.tar.gz --exclude "file_to_exclude" 
+0

Làm việc như một sự quyến rũ. Cảm ơn bạn. – KillerDesigner

Các vấn đề liên quan