次のことを行うための正しいコマンドに苦労しています:
特定のシンボルを含むすべての共有ライブラリ (*.so) を検索します。
これは私が試したことです:
find -iname '*.so*' -exec nm {} \; | grep -H _ZN6QDebugD1Ev
上記は、見つかったシンボルを含むいくつかの出力を提供しますが、シンボルが発生したファイル名を特定しません.grepがstdinから供給されているため、ファイル名を出力するようにgrepに指示するフラグは失われます.
(standard input): U _ZN6QDebugD1Ev
(standard input): U _ZN6QDebugD1Ev
(standard input): U _ZN6QDebugD1Ev
(standard input): U _ZN6QDebugD1Ev
(standard input):0015e928 T _ZN6QDebugD1Ev
(standard input): U _ZN6QDebugD1Ev
(standard input): U _ZN6QDebugD1Ev
(standard input): U _ZN6QDebugD1Ev
別の試み:
find -iname '*.so*' -exec nm {} \; -exec grep _ZN6QDebugD1Ev {} \;
2 つの exec は完全に独立しているため、これは機能しません。
私は何をすべきか?