Nur damit ich es nicht wieder vergesse:
for i in `ls`; do cat $i|egrep -o “ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} „|sort|uniq; done
Optimierung durch Dirk:
egrep -ho “ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} “ \* | sort -u
Dirks Vorschlag habe ich dann noch etwas verkuerzt:
egrep -ho „([0-9]{1,3}\.){3}[0-9]{1,3}“ * | sort -u
Du durchsucht ein Verzeichnis nach Dateien, die IP Adressen enthalten und sortierst sie?
Dirk hatte da was, das die IP Adressen besser sortiert:
LC_ALL=C sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n list.lst
oder so aehnlich…
Ja, ich durchsuche ein Log. *Eigentlich* geht es sogar wohl noch einfacher. Aber ich hab es nicht hinbekommen. 🙂 Fuer funktionierende Alternativen bin ich offen. Dein „oder so aehnlich…“ ist mir nicht ganz klar 😉
Ein bisschen kompliziert, oder?
for i in *
(* wird ersetzt durch alle Dateinamen)
useless use of cat:
egrep -o “ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} “ $i
sort und uniq gibt sort -u
Oder ganz einfach
cat * | egrep -o “ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} “ | sort -u
(ohne for-Schleife)
Prima: War natuerlich auch ein useless use of cat …
egrep -o “ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} “ * | sort -u
Aller guten Dinge … (da fehlt ein h).
egrep -ho “ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} “ * | sort -u
Danke. Und ja… Ich stehe auf „useless use of cat“ 🙂