私はこのプロジェクトがどのバージョンの休止状態に依存しているかを調べようとしています(私の質問に直交しています)。
私たちはいくつかのサブプロジェクトを含む親プロジェクトを持っており、これが1つ以上のプロジェクトにあることを知っていますpom.xml
。問題は、一致を印刷するとその行だけが表示され、pom.xml
I want to Know which Child Projectで見つかったことですpom.xml
。
相対パスを印刷するにはどうすればよいですかgrep
? (絶対パスも機能しますが、表示が悪いです。)これが可能でない場合は、他の提案を歓迎します。
$ grep -rI -3 org.hibernate pom.xml
ベストアンサー1
find、xargs、およびgrepを一緒に使用することをお勧めします。
cd top-dir
find . -print -name 'pom.xml' -print0 | xargs -0 grep -l pattern
見つかったディレクトリの特殊文字が保護され、正しく処理されるように -print0/-0 オプションを入れました。
上記は、パターンと一致する最上位ディレクトリに基づいてファイル名をリストします。