パラレルtar [重複]

パラレルtar [重複]

何百ものサブディレクトリを持つディレクトリがあります。各サブディレクトリをtarおよび圧縮し、結果ファイルの名前を指定したいと思います<currentDirName>.tar.bz2

私はすでにこれを行いました。

find ./dir -type f -print0 | xargs -0 -n1 -P100 bunzip2

一度に100個のファイルを解凍します。 (私は海洋モデリングをしているので、私のコンピュータはクワッドコアが多くて非常に強力です。)圧縮されたアーカイブファイルの動的な命名に関する情報を含めながら、上記のようなことをする方法がわかりません。私はすべての人のためにそれをしたくありませんtar cfj dir.tar.bz2 dir

上記のBunzipコマンドのように、一度に100以上を実行できるように、findまたはパラレルを介して自動的に各ディレクトリ名をtarファイル名として使用できますか?

ご意見ありがとうございます。

....ピーター

答え1

bashの行は、おおよそ説明するタスクを実行して、各ディレクトリを独自のtarballに配置します。

for d in dir/*/; do { tar -cj "$d" > "${d%/}.tar.bz2" ; } & done ; while [ "$(jobs)" ] ; do fg &>/dev/null ; done ; echo done

関連情報