
我只是嘗試|sort -nu
(數字和唯一)大約30 個IP 位址的列表,並注意到除了剔除重複行之外,它還將相似的行(即具有相同前兩個或三個八位元組的位址)視為相同;並將它們也剪掉。
那是怎麼回事?
為了顯示;你可以模擬這個場景,如下:
標準輸入
for ip in 192.168.1.{1..5};
do
echo "$ip";
done > ip.log
for ip in 10.1.1.{1..5};
do
echo "$ip";
done >> ip.log
cat 'ip.log'
標準輸出
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
10.1.1.1
10.1.1.2
10.1.1.3
10.1.1.4
10.1.1.5
標準輸入
sort -nu 'ip.log'
標準輸出
10.1.1.1
192.168.1.1
答案1
告訴sort
按版本號碼排序:
$ sort -Vu 'ip.log'
10.1.1.1
10.1.1.2
10.1.1.3
10.1.1.4
10.1.1.5
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
或者,告訴它對所有四個欄位進行數字排序:
$ sort -nu -t. -k1 -k2 -k3 -k4 'ip.log'
10.1.1.1
10.1.1.2
10.1.1.3
10.1.1.4
10.1.1.5
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5