Tôi đang chạy các centos và tôi có khoảng 1.300 tệp trong một thư mục mà mỗi tệp cần được bzipped riêng lẻ. Điều gì sẽ là cách dễ nhất để bàn giao điều này?Bz2 mỗi tệp trong một thư mục
Trả lời
Nếu tất cả các file nằm trong một thư mục duy nhất thì:
bzip2 *
là đủ. Một cách tiếp cận mạnh mẽ hơn là:
find . -type f -exec bzip2 {} +
Mà sẽ nén tất cả các tập tin trong thư mục hiện hành và thư mục con của nó, và sẽ làm việc ngay cả khi bạn có hàng chục ngàn file (sử dụng * sẽ phá vỡ nếu có quá nhiều tệp trong thư mục).
Nếu máy tính của bạn có nhiều lõi, bạn có thể cải thiện thêm tính năng này bằng cách nén nhiều tệp cùng một lúc. Ví dụ, nếu bạn muốn để nén 4 file đồng thời, sử dụng:
find . -type f -print0 | xargs -0 -n1 -P4 bzip2
Từ bên trong thư mục: bzip2 *
find PATH_TO_FOLDER -maxdepth 1 -type f -exec bzip2 -zk {} \;
Để bzip2 trên đa lõi Mac, bạn có thể dùng lệnh sau (khi bạn đang ở trong thư mục mà bạn muốn bzip)
find . -type f -print0 | xargs -0 -n1 -P14 /opt/local/bin/bzip2
Điều này sẽ bzip mỗi tập tin đệ quy trong thiết bị đầu cuối của bạn đang sử dụng đồng thời 14 lõi CPU.
Bạn có thể điều chỉnh bao nhiêu lõi để sử dụng bằng cách chỉnh sửa
-P14
Nếu bạn không biết nơi nhị phân bzip2 là, bạn có thể dùng lệnh sau để con số nó ra
which bzip2
Đầu ra của lệnh đó là những gì bạn có thể thay thế
/opt/local/bin/bzip2
với
- 1. Lặp lại qua mỗi tệp trong một thư mục
- 2. cho mỗi thư mục tạo một tệp tar
- 3. bz2 tập tin nén câu hỏi
- 4. Chạy trong mỗi thư mục con
- 5. Nhiều tệp trong một thư mục?
- 6. LaTeX: thư mục cho mỗi chương
- 7. Đổi tên một số tệp trong một thư mục
- 8. Làm cách nào để tìm tệp trong mỗi thư mục có số lượng tệp cao nhất?
- 9. Bash - for-loop cho mỗi thư mục trong một thư mục, ngoại trừ một số trong số chúng
- 10. Run shell script cho mỗi tập tin trong thư mục
- 11. Tìm kiếm tệp trong thư mục có nhiều thư mục
- 12. Tạo một tệp trong một thư mục được chỉ định
- 13. Lặp qua các tệp trong một thư mục bằng VBA?
- 14. thư mục .svn nằm trong mỗi thư mục nhưng bây giờ nó đã biến mất
- 15. tập lệnh batch - chạy lệnh trên mỗi tệp trong thư mục
- 16. Bạn có thể có thêm .gitignore cho mỗi thư mục trong một repo đơn không?
- 17. Xcode - Tự động thêm tất cả các tệp trong một thư mục vào một mục tiêu
- 18. liệt kê các thư mục con trong một thư mục - Matlab (chỉ các thư mục con, không phải tệp)
- 19. Java tải xuống tất cả các tệp và thư mục trong một thư mục
- 20. Bash: scp tất cả các tệp trong một thư mục, nhưng không phải thư mục con
- 21. tải các tệp mới trong thư mục
- 22. Liệt kê tất cả các tệp và thư mục trong thư mục + thư mục con
- 23. Tạo một tệp ZIP từ một thư mục trong thư mục tài liệu - Mục tiêu C (ARC)
- 24. Cần kết hợp nhiều tệp trong một thư mục
- 25. Tạo một tệp trong thư mục userfiles (C#, Windows Forms)
- 26. Xác định số lượng tệp trong một thư mục
- 27. Đổi tên hàng loạt các tệp trong một thư mục
- 28. Đếm số lượng tệp trong một thư mục qua javascript
- 29. Lọc tệp trong một thư mục rất lớn
- 30. Mở tất cả các tệp trong một thư mục
Tôi không hiểu vị trí trong lệnh cuối cùng của bạn mà bạn chỉ định sử dụng bzip2 –
bên phải, nó thiếu lệnh "bzip2". đã sửa. – sagi
Ý nghĩa của '{} +' là gì? – Lee