bash大師;)我試圖改善一些字符串在特定的文件grep特定關鍵字的匹配bash。它看起來像這樣:grep東西與xargs和發現
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"
(如第二個腳本)。我怎樣才能實現它?
P.S .:我使用find
爲腳本的靈活性和未來的改進。
我不明白,爲什麼你把居間'慶典'在你的第二個命令。 – kmkaplan
即使沒有明確調用干預bash,它也會以相同的速度運行:find//hp -iname'* .ppd'-print0 | xargs -0 -I {} grep「\ * ModelName \:」{}。 –
likern