Linux
從第一個公共八位字節中提取所有子網
我在文件中有一個子網列表。我只需要提取那些具有上述公共八位字節的子網。
我嘗試使用 grep “grep -oP ‘1.
$$ ^” $$+’ 但我仍然得到了一些不同的結果。 例如我有一個日誌。
1.1.1.0/24 2.74.2.0/24 11.2.1.0/24 1.9.55.0/24
我只想提取具有公共第一個八位字節的子網為 1 所以結果應該是
1.1.1.0/24 1.9.55.0/24
這將做你想要的:
grep '^1\.' filename
該
^
符號表示行的開頭,並\.
表示文字點。
列印第一個點分隔欄位為 1 的每一行:
awk -F. '$1=="1" {print}' datafile
由於
awk
腳本的每一行都是condition {action}
,並且可以省略任何部分作為預設值1 {print}
,因此可以更流暢地編寫該行,如下所示:awk -F. '$1=="1"' datafile