.png)
Ich habe gerade versucht, |sort -nu
eine Liste mit ungefähr 30 IP-Adressen (numerisch und eindeutig) zu erstellen und habe festgestellt, dass zusätzlich zum Aussortieren doppelter Zeilen auch ähnliche Zeilen (d. h. Adressen mit denselben ersten zwei oder drei Oktetten) als identisch behandelt und ebenfalls aussortiert werden.
Was ist damit?
Zur Veranschaulichung können Sie dieses Szenario wie folgt simulieren:
stdin
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'
stdout
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
stdin
sort -nu 'ip.log'
stdout
10.1.1.1
192.168.1.1
Antwort1
Geben Sie an sort
, ob nach Versionsnummern sortiert werden soll:
$ 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
Alternativ können Sie angeben, dass nach allen vier Feldern numerisch sortiert werden soll:
$ 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