私は最初のスクリプトを書いた。
find /media/temp/test -type f -printf '%T@ %p\n*.tar.gz' | sort -n | tail -1 | cut -f2- -d" " | xargs tar -xvpf
最近修正されたファイル.tar.gzを見つけて、/media/temp/testの代わりにいくつかのディレクトリに抽出したいと思います。
ベストアンサー1
残りのコマンドが正しく機能していると仮定すると、最後の部分だけを置き換えます。
xargs tar -xvpf
そして
(cd /certain/directory; xargs tar -xvpf)
tarコマンドはこのディレクトリで実行されます。これは、他のディレクトリに関連するコマンドを実行するのに一般的で便利な「トリック」です。
tarファイル名(この場合はfindコマンドの出力)が絶対パスであるため、これはここでのみ機能します。相対パス名の場合、上記の「cd」は機能しません。
tar
利用可能なパラメータはすでにあります。
-C directory
In c and r mode, this changes the directory before adding the following files. In x mode, change directories after opening
the archive but before extracting entries from the archive.
したがって、最後の部分
xargs tar -C /certain/directory -xvpf
tarのバージョンを確認してテストしてください。プラットフォーム間には微妙な違いがあります(使用しているUNIXバリアントを指定しません)。アーカイブのパス名も相対的です。