Tarはディレクトリ構造を維持しながら、ディレクトリ内のすべてのPDFを圧縮します。

Tarはディレクトリ構造を維持しながら、ディレクトリ内のすべてのPDFを圧縮します。

私のディレクトリの1つにあるすべてのPDFファイルを含む圧縮されたターボールを作成しようとしています。ディレクトリ構造を保存する必要があります。空のディレクトリは必要ありませんが、ディレクトリがあるかどうかはあまり気にしません。

たとえば、次のようなディレクトリがあるとします。

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

dir.tar.gzコマンドを実行した後、以下を含めたいと思います。

dir
dir/subdir2
dir/subdir2/subsubdir1
dir/subdir2/subsubdir1/document.pdf
dir/subdir3
dir/subdir3/another-document.pdf

可能ですか?

ベストアンサー1

これにより、すべてのPDFが一覧表示されます。

$ find dir/ -name '*.pdf'
./dir/subdir2/subsubdir1/document.pdf
./dir/subdir3/another-document.pdf

これをパイプで区切っxargsて、スペースで区切られた単一行にインポートしてフィードしてtarアーカイブを作成できます。

$ find dir/ -name '*.pdf' | xargs tar czf dir.tar.gz

(このアプローチは空のディレクトリを省略します)

おすすめ記事