Linux の何千ものディレクトリから特定のファイル「transaction.log」をコピーし、同じ特定のファイルを含む tar ファイルを作成したい状況があります。
例: /user/foo/dirs/ の下に何千ものディレクトリがあります
/user/foo/dirs/dir1
/user/foo/dirs/dir2
/user/foo/dirs/dir3
..
..
..
/user/foo/dirs/dir50000
各ディレクトリには、いくつかのファイルと transaction.log ファイルがあります。この transaction.log ファイルを 50000 個のディレクトリすべてからコピーし、それらを tar ファイルに保存したいと考えています。
何かいい方法があれば教えていただけないでしょうか?
ありがとう。
解決:
わかりました、問題が見つかりました。他のディスクへのシンポリティックリンクがいくつかあったため、うまく機能していませんでした。解決策は、シンボリック リンクをたどるために、find で -follow オプションを使用することです。ありがとう。次のコマンドを使用します
探す 。-follow -type f -name "transaction.log" | tar --create --files-from - > /foo/Stats_transaction_Object.tar.gz