「削除された」一般ファイルをすべて見つけて実行する方法は?

「削除された」一般ファイルをすべて見つけて実行する方法は?

ファイルが複数ありますuninstall。全部見つけて一つずつ処刑します。私はfindとexecの組み合わせを知っているので試してみました。

find . -name uninstall -exec {}\;

ただし、これにより次のエラーが発生します。

find: missing argument to `-exec'

一般的なファイルなので、パラメーターを提供できません。私はターミナルでこれを実行します

./uninstall

このファイルをどのように検索して実行できますか?

答え1

実行中のコマンドの終了位置を;示す別のパラメーターでなければなりません。find

find . -name uninstall -type f -exec {} \;

一部のfind実装では、実際に実行可能ファイルのみが実行されるように-executable事前に述語を追加できます。-exec

答え2

ファイルを開始するにはシェルを指定する必要があります。例えば

find . -name uninstall -exec sh {} \;

または

find . -name uninstall -exec bash {} \;

答え3

渡す探す+シェル管路:

find . -name uninstall | sh

関連情報