如何使用grep命令過濾ip地址。使用grep命令匹配模式
3267 3 77.80.177.0/24 00:00:00:00:00:00 100011 0 0 0 0 y
3289 1 177.77.1.0/24 00:00:00:00:00:00 100010 0 0 0 0 y
欲僅過濾開始與上塔3 出現有列之間沒有均勻的間隔177中的條目。
對不起,我不喜歡使用grep。我試圖谷歌和一些例子,但沒有按照我打算做的方式工作。
感謝,
如何使用grep命令過濾ip地址。使用grep命令匹配模式
3267 3 77.80.177.0/24 00:00:00:00:00:00 100011 0 0 0 0 y
3289 1 177.77.1.0/24 00:00:00:00:00:00 100010 0 0 0 0 y
欲僅過濾開始與上塔3 出現有列之間沒有均勻的間隔177中的條目。
對不起,我不喜歡使用grep。我試圖谷歌和一些例子,但沒有按照我打算做的方式工作。
感謝,
grep " 177\." File
那應該這樣做
這可能與awk
簡單:
$ awk '$3 ~ /^177/' file
3289 1 177.77.1.0/24 00:00:00:00:00:00 100010 0 0 0 0 y
'$3 ~ /^177/'
意味着:如果第三個字段包含有177開頭的字符串,然後打印。
把它用做grep
:
$ grep -E "^\w+\s+\w+\s+177" file
3289 1 177.77.1.0/24 00:00:00:00:00:00 100010 0 0 0 0 y
-E "^\w+\s+\w+\s+177" file
意思是:尋找與這個模式串:行,字,空格,字,空格開始,177
我寧願awk
超過這個,但這裏都是解決方案:
隨着grep
:
grep -vE '\s*177\.([0-9]+\.){2}[0-9]\/[0-9]+\s*' inputFile
隨着awk
:
awk '$3!~/^177/' inputFile
根據您的樣本,這裏的另一個問題:
$ grep -o '[^.0-9]177.*/[0-9]{2}'
中(注意前導空格)
結果:
177.77.1.0/24
它在這種情況下工作,但沒有任何檢查'第三列'條件。 – fedorqui
正確。但它可以工作和簡單 – Ayman