1. 程式人生 > >Linux 使用grep篩選多個條件及grep常用過濾命令

Linux 使用grep篩選多個條件及grep常用過濾命令

cat log.txt | grep 條件; 
cat log.txt | grep 條件一 | grep 條件二; 
cat log.txt | grep 條件一 | grep 條件二 | grep 條件三;

grep 條件一 log.txt | grep 條件二 | grep 條件三;

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

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

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

?

1

2

3

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

下面看下linux grep常用過濾命令

過濾的內容可以是一個片語等, 需要用引號包裹

1. 獲取檔案中的關鍵字key:  cat fileName | grep "key"

2. 獲取檔案中的某個關鍵字key1, key2, key3: cat fileName | grep -E "key1|key2|key3"

3.獲取檔案中的多個關鍵字,同時滿足: cat fileName | grep key1 | grep key2| grep key3

4. 忽略檔案中的某個關鍵字, 需要轉義"|":cat fileName | grep -v "key1\|key2\|key3"