grep 同時排除多個關鍵字


不說廢話, 例如需要排除 abc.txt 中的  mmm   nnn

   grep -v 'mmm\|nnn' abc.txt 

 

再舉個例子,需要確定mac 的本機ip地址,  顯然直接可以輸入 ifconfig, 但是會出來一大堆信息,那么再通過 grep inet 可以拿到類似如下的信息:

bash-3.2# ifconfig | grep inet
   inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet6 fe80::c37:dee4:5ad4:944b%en0 prefixlen 64 secured scopeid 0x4 inet 10.60.104.38 netmask 0xfffffe00 broadcast 10.60.105.255 inet6 fe80::8dc:a3ff:feaf:fbe1%awdl0 prefixlen 64 scopeid 0x9 inet6 fe80::bd0c:5502:92ad:25e1%utun0 prefixlen 64 scopeid 0xa

 

 但是這樣還是很多,需要從這幾條信息里面去找到所需要的 ip 地址,我們可能想到了使用 grep -v 屏蔽掉 inet6,結果如下:

 

bash-3.2# ifconfig | grep inet | grep -v inet6
    inet 127.0.0.1 netmask 0xff000000
    inet 10.60.104.38 netmask 0xfffffe00 broadcast 10.60.105.255

這樣其實也可以看了,但是強迫症患者傷不起啊,我就只要一條,怎么弄呢,顯然還可以繼續通過 grep -v 127.0.0.1 來屏蔽掉第一條記錄,如下:

 

bash-3.2# ifconfig | grep inet | grep -v inet6 | grep -v 127.0.0.1
    inet 10.60.104.38 netmask 0xfffffe00 broadcast 10.60.105.255

這樣好像不是很優雅,那就剛剛說的方法,如下:

bash-3.2# ifconfig | grep inet | grep -v 'inet6\|127.0.0.1'
    inet 10.60.104.38 netmask 0xfffffe00 broadcast 10.60.105.255

 

當然,還可以同時屏蔽掉更多的關鍵字,這里就不展開了,不知道的可以給我留言。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM