一致するものを見つけて印刷し、-execを実行する方法

一致するものを見つけて印刷し、-execを実行する方法

スクリプトを実行してから一致するものごとに実行したいのですが、find各.txtファイルの出力の上に一致するファイルの名前を印刷したいと思いますexec。次の出力をどのように生成できますか?

$ find . -name 'something' -exec sh script.sh {} \;
./something_1
output from 
script.sh something_1
./something_2
output from
script.sh something_2

現在はscript.sh。私は試しましたが、-exec echo {} && sh script.sh {} \;成功しませんでした。

-execxargs -print0私は空白の問題が少なくなるorを使用するソリューションを好みます。

ベストアンサー1

find別のジョブを指定しない場合、デフォルトは一致するすべてのファイルを印刷することです。

これで-exec ...置き換えられます-print

二つの作業を合わせるとの意味ですAND

したがって、次の2つを行います。

$ find . -name 'something' -print -exec sh script.sh {} \;

おすすめ記事