Linux

從第一個公共八位字節中提取所有子網

  • September 1, 2022

我在文件中有一個子網列表。我只需要提取那些具有上述公共八位字節的子網。

我嘗試使用 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

引用自:https://unix.stackexchange.com/questions/715817