我必須顯示文件「inventory.txt」和「monitored_servers.txt」上的所有行不匹配。我可以打印所有匹配的行,如下所示:用於打印行的Shell腳本循環不匹配
for i in `cat inventory.txt`; do grep $i monitored_servers.txt >> result.txt; done
如何顯示所有行不匹配?
我必須顯示文件「inventory.txt」和「monitored_servers.txt」上的所有行不匹配。我可以打印所有匹配的行,如下所示:用於打印行的Shell腳本循環不匹配
for i in `cat inventory.txt`; do grep $i monitored_servers.txt >> result.txt; done
如何顯示所有行不匹配?
grep -v -f inventory.txt monitored_servers.txt >non-matching.txt
'-x'也可能很重要 – janos
@janos,...也許,但由於OP對其原始用法的結果感到滿意,我不相信。 –
grep -v --file inventory.txt monitored_servers.txt
-v
- 不匹配行
--file
- 用您的文件作爲模板
認爲我在那裏擊敗了你25秒。 :) –
該死的,你很快;) –
\ o /:D Tks很多! –
旁白:[不讀線,'for'(HTTP:// mywiki.wooledge.org/DontReadLinesWithFor) –
另外,上面(在庫存中每個單詞運行一次'grep')真的很慢。即使對於正面情況,只需一次grep調用即可處理整個庫存,從而獲得更好的性能。 –