すべてのサブフォルダ内のファイルを見つけて入力として使用する

すべてのサブフォルダ内のファイルを見つけて入力として使用する

an_*入力ファイルと実行可能ファイルを含むサブフォルダがたくさんありますrun。サブフォルダで一度実行されるコマンドラインはです./run <an_*

私が望むのは、ファイルを含むすべてのサブフォルダを見つけてan_*入力として実行することです。最良の選択は次のとおりです。しかし、それはうまくいきません。runan_*find -name an_* -execdir ./run <'{}' \;

ベストアンサー1

findコマンドラインから入力リダイレクトを削除すると、< シェルは次の入力をリダイレクトしようとします。探す。必要なのは、findが実行するコマンドでリダイレクトが発生することです。ただし、findリダイレクトの実行方法がわからないため、指定したコマンドを解析するためにシェルを実行するように明示的に要求する必要があります。このような:

find -name "an_*" -execdir sh -c "./run < {}" \;

おすすめ記事