Giải nén và xóa tất cả .gz trong một thư mục- Linux


80

Tôi có một danh bạ. Nó có khoảng 500K tệp .gz.

Làm cách nào để giải nén tất cả .gz trong thư mục đó và xóa các tệp .gz?


Một .gztệp không nhất thiết phải là một kho lưu trữ. Trong trường hợp đó, bạn sẽ không có gì để xóa khi thực hiện gzip -d file.gz.
devnull

Tôi bỏ phiếu để đóng câu hỏi này là lạc đề vì nó thuộc về unix.stackexchange.com
Shankar Damodaran

Câu trả lời:


168

Điều này nên làm điều đó:

gunzip *.gz

1
... trừ khi điều đó mang lại cho bạn một lỗi 'quá lớn'. Trong trường hợp đó, bạn sẽ muốn sử dụng một cái gì đó như find "$dir" -maxdepth 1 -name '*.gz' -print0 | xjobs -0 -l50 -v2 gunzipđể giới hạn các phiên bản ở 50 đối số mỗi đối số (và chạy chúng song song).
Toby Speight

22

@techedemic đúng nhưng bị thiếu '.' đề cập đến thư mục hiện tại và lệnh này đi qua tất cả các thư mục con.

find . -name '*.gz' -exec gunzip '{}' \;

19

Rõ ràng là có nhiều cách để làm điều này.

    # This will find files recursively (you can limit it by using some 'find' parameters. 
    # see the man pages
    # Final backslash required for exec example to work
    find . -name '*.gz' -exec gunzip '{}' \;

    # This will do it only in the current directory
    for a in *.gz; do gunzip $a; done

Tôi chắc rằng cũng có những cách khác, nhưng đây có lẽ là cách đơn giản nhất.

Và để xóa nó, chỉ cần thực hiện rm -rf *.gztrong thư mục áp dụng


3

Giải nén tất cả các tệp gz trong thư mục hiện tại và các thư mục con của nó:

 find . -name "*.gz" | xargs gunzip 

3

Nếu bạn muốn giải nén một tệp, hãy sử dụng:

tập tin gunzip.gz

Nó sẽ giải nén tệp và xóa tệp .gz.



0

Thử:

ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 tar xvfz

Vậy hãy thử đi:

ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 rm

Thao tác này sẽ xóa tất cả các tệp .tar.gz trong thư mục hiện tại và sau đó xóa tất cả các tệp .tar.gz. Nếu bạn muốn có lời giải thích, dấu "|" lấy stdout của lệnh trước nó và sử dụng nó làm stdin của lệnh sau nó. Sử dụng "man command " trong dấu ngoặc kép để tìm ra những lệnh và đối số đó làm gì. Hoặc, bạn có thể nghiên cứu trực tuyến.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.