テストするファイルを含むディレクトリがあります。たとえば、AfileBと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に印刷しますか?
ファイル名を変数に保存したり、処理したりできることはわかっていますが、もっと簡単なアプローチが欲しいです。