テストするファイルを含むディレクトリがあります。たとえば、A
fileB
とC
.
簡単にするために、これらの各ファイルに対して発行したいコマンドがあり、適切な出力が得られるコマンドを見つけたとします。
パイプが必要になりますmyCommand fileName | grep ExpectedResult
(私の実際のケースでは、ライブラリでシンボルを探していたので、それは でしたreadelf -s | grep MySymbol
)。
コマンドの結果に対してこのコマンドを発行したいfind
。
私は私の結果を見つける
find . -name *.so -print0 | xargs -0 myCommand | grep ExpectedResult
これは問題なく動作しますExpectedResult
。
私が受け取りたいのは (私が探しているファイルが であると仮定してB
):
A
B
ExpectedResult
C
このようにして、結果が見つかったファイルを確認できました。grep
ファイルの内容を確認しようとしている場合は、 にスイッチが必要-print
ですfind
。残念ながら、パイプされたコマンドが必要な場合、これではうまくいきません。
言うだけなので、明らかに、grep -H
どちらもしません(standard input)
。
ファイル名を「outgrepping」で上書きするにはどうすればよいですか? どういうわけかstderrに印刷しますか?
ファイル名を変数に保存したり、処理したりできることはわかっていますが、もっと簡単なアプローチが欲しいです。