Tôi đang cố gắng tạo một tarball nén chứa tất cả các tệp PDF tồn tại trong một trong các thư mục của tôi. Cấu trúc thư mục cần được giữ lại. Thư mục trống không cần thiết, nhưng tôi thực sự không quan tâm nếu chúng ở đó.
Ví dụ: giả sử tôi có một thư mục trông như thế này:
dir
dir/subdir1
dir/subdir1/subsubdir1/song.mp3
dir/subdir2
dir/subdir2/subsubdir1
dir/subdir2/subsubdir1/document.pdf
dir/subdir2/subsubdir1/another-song.mp3
dir/subdir2/subsubdir1/top-ten-movies.txt
dir/subdir3
dir/subdir3/another-document.pdf
Sau khi chạy lệnh, tôi muốn có dir.tar.gz
chứa điều này:
dir
dir/subdir2
dir/subdir2/subsubdir1
dir/subdir2/subsubdir1/document.pdf
dir/subdir3
dir/subdir3/another-document.pdf
Khả thi?
find docs \( -iname '*.pdf' -o -iname '*.mp3' \) -printf '"%p"\n' | xargs tar czf docs-media.tar.gz