Tar: Loại trừ các phần mở rộng nhất định trong các thư mục con


2

Tôi có một thư mục bao gồm các thư mục con, lần lượt cũng có các thư mục con. Tôi đã thử:

tar --exclude='*.msh' --exclude='*.geo' -czvf cont.gz run-1/*

để nén tất cả các tệp và thư mục con trong run-1 nhưng các tệp có phần mở rộng msh và địa lý. Nhưng tar vẫn tiếp tục thêm những tập tin đó. Các tệp có nghĩa là loại trừ không phải trong run-1 mà là một trong các thư mục con của nó và tôi không muốn chỉ định rõ ràng các vị trí. Vấn đề ở đâu?

Chỉnh sửa: Dưới đây là một trong những thư mục con trong run-1. Các thư mục con khác có cấu trúc tương tự. Tôi cũng ổn với việc loại trừ thư mục msh trong tất cả các thư mục con.

run-1
  |-np-8
      |-nmesh-3
        |-ncell-1
          |-bunch of files
          |-msh
            |-bg.msh
            |-bg.geo

Xin vui lòng bạn có thể cập nhật câu hỏi của bạn với một cây ví dụ? Phác thảo những tập tin bạn muốn bao gồm, và những gì bạn muốn loại trừ?
Attie

Câu trả lời:


2

Cố gắng sử dụng một tệp loại trừ có chứa các dòng:

*.msh
*.geo

Lệnh sau đó có thể trông giống như:

tar -czvf cont.gz -X exclude-files.txt run-1/*

Bạn cũng có thể sử dụng findlệnh để tạo danh sách các tệp để loại trừ, nhưng điều đó chỉ hoạt động tốt đối với một lượng nhỏ tệp.

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.