Tôi muốn biết lệnh nào được sử dụng để gunzip tất cả các tệp trong thư mục đích theo cách đệ quy? Tôi đã cố gắng sử dụng lệnh giải nén nhưng nó không hoạt động.
Tôi đã thử lệnh từ Unzip tất cả các tệp zip trong một thư mục đích?
Tôi muốn biết lệnh nào được sử dụng để gunzip tất cả các tệp trong thư mục đích theo cách đệ quy? Tôi đã cố gắng sử dụng lệnh giải nén nhưng nó không hoạt động.
Tôi đã thử lệnh từ Unzip tất cả các tệp zip trong một thư mục đích?
Câu trả lời:
Sử dụng các lệnh dưới đây. Thay thế <path_of_your_zips>
bằng đường dẫn đến tệp ZIP của bạn và <out>
với thư mục đích của bạn:
Đối với tệp GZ
find <path_of_your_zips> -type f -name "*.gz" -exec tar xf {} -C <out> \;
hoặc là
find <path_of_your_zips> -type f -name "*.gz" -print0 | xargs -0 -I{} tar xf {} -C <out>
Đối với tệp ZIP
find <path_of_your_zips> -type f -name "*.zip" -exec unzip {} -d <out> \;
hoặc là
find <path_of_your_zips> -type f -name "*.zip" -print0 | xargs -0 -I{} unzip {} -d <out>
-exec
thích find . -type f -name "*.gz" -exec tar xzf {} -C <out> \;
?
tar: This does not look like a tar archive
gunzip
có -r
tùy chọn. Từ man gunzip
:
-r --recursive
Travel the directory structure recursively. If any of the
file names specified on the command line are directories, gzip
will descend into the directory and compress all the files it finds
there (or decompress them in the case of gunzip ).
Vì vậy, nếu bạn muốn gunzip
tất cả các tệp nén ( gunzip
hiện có thể giải nén các tệp được tạo bởi gzip, zip, nén, nén -H hoặc gói) trong thư mục /foo/bar
và tất cả các thư mục con của nó:
gunzip -r /foo/bar
Điều này sẽ xử lý tên tập tin với không gian quá.