bash guru ;) 特定のファイルで特定のキーワードの一致を grep する bash の文字列を改善しようとしています。次のようになります。
find /<path>/hp -iname '*.ppd' -print0 | xargs -0 grep "\*ModelName\:"
これは私にとって非常に高速に機能します!これより20倍高速:
find /<path>/hp -iname '*.ppd' -print0 | xargs -0 -I {} bash -c 'grep "\*ModelName\:" {}'
しかし、問題は、最初のスクリプトで次の行を取得していることです。
/<path>/hp/hp-laserjet_m9040_mfp-ps.ppd:*ModelName: "HP LaserJet M9040 M9050 MFP"
しかし、望ましい結果は
*ModelName: "HP LaserJet M9040 M9050 MFP"
(2 番目のスクリプトのように)。どうすれば達成できますか?
PS:find
スクリプトの柔軟性と将来の改善のために使用しています。