そのコマンドを使用してfind
特定のファイルのリストを見つけ、各ファイルを別のコマンドにパイプしようとします。他のコマンドはAzure CLIコマンドラインです。次のコマンドを試してみました。
find /folder -name exclude1 -prune -o -name exclude2 -prune -o -name *.bicep -print -exec az bicep build {}
しかし、これはエラーを引き起こします。find: missing argument to -exec
結果から配列を作成し、find
forループでその配列を使用して各要素をaz bicep build
コマンドに渡すことはできますか?
しかし...引数なしで、-exec
このfind
コマンドは私が探している結果セットを返します。
答え1
返す理由は、find: missing argument to -exec
引数が-exec
or で終わる必要があるからです。この構文は、単一のコマンドにできるだけ多くの引数を渡します。たとえば、この構文は、必要なものである可能性がある1つのファイルのみを引数として使用して、各ファイルに対して新しいコマンドを実行します。+
\;
+
az bicep build file1 file2 file3
\;
シェルと現在のディレクトリのファイルに基づいて解析を試みることができ、*.bicep
代わりに安全のために{}
渡す必要があります。find
次のコマンドは要件を満たす必要があります。
find /folder -name exclude1 -prune -o -name exclude2 -prune -o -name '*.bicep' -print -exec az bicep build '{}' \;