すでに作成されたスクリプトに find をどのように使用しますか?

すでに作成されたスクリプトに find をどのように使用しますか?

最後に変更されたファイルを見つける方法を知っていますが、すでに作成したスクリプトで使用するにはどうすればよいですか?フォルダに何百ものファイルがあり、xyz_<yyyymm>今使用していますが、$ find /home/directory/TEST/ -type f -mmin -60途中でクラッシュします。

答え1

findコマンドの各結果に対してスクリプトを実行するにはこれを使用できますが、通常はxargsfindで使用することをお勧めします。-execだからあなたはこれを行うことができます:

find /home/directory/TEST/ -type f -mmin -60 -exec /path/to/your/script {} \;

一致するファイルの名前は、各一致の場所findに配置されます。{}

答え2

findこれは、複数のファイルを繰り返して各ファイル名をスクリプトに渡したい場合、xargs特にファイルのリストが非常に大きく、途中で競合が発生した場合に効果的です。

ここでは、現在の作業ディレクトリを繰り返してすべてのファイルを見つけ、各ファイル名を名前を印刷するperlスクリプトに渡します。

find . -type f | xargs -0 ./script.pl

find必要に応じてコマンド文字列を調整できます。

関連情報