cut - ich verreck!

Hallo zusammen!
Schon seit Stunden (ok, halben Stunden) schlage ich mich mit dem cut-Befehl herum und nicht mal mein Info-Lehrer hats hingekriegt.
Code:
ip=`ifconfig $interface | grep $1 | cut -f ?? -d' '`
Aus diesem String möchte ich das fett markierte in $ip speichern.
inet Adresse 192.168.2.2 Bcast 192.168.2.255 Maske 255.255.255.0
Wie krieg ich das hin??
Die Manual-Page hat mir nicht geholfen, ausser dass ich gelesen habe, dass cut -d alleine nicht geht weil man mindestens noch einen anderen parameter (zB -f) haben muss.
Eine Seite mit einigen Beispielen wäre toll. Danke.
 
Wenn der String wirklich so reinkommt, wie du es schreibst, dann so:

Code:
ip=`ifconfig $interface | grep $1 | awk '{print $3}' `
 
ach sehr schön ! vielen, vielen dank! hab' nicht gewusst, dass man auf einen String mit mehreren Wörter wie auf Parameter ($1, $2...) zugreifen kann.
Danke !
 
Zum Trennen von Strings in der Shell eignet sich meiner Meinung nach awk ziemlich gut.
Mit der Option "-F" kann man auch angeben, nach welchem Zeichen getrennt werden soll.

Bsp:
Code:
echo "inet Adresse 192.168.2.2 Bcast 192.168.2.255 Maske 255.255.255.0" | awk '{print $3}' | awk -F. '{print $1 "|" $2 "|" $3 "|" $4}'
192|168|2|2                                                                                        ^ hier der Punkt als Trennzeichen definiert

Solltest du dahingehend mehr brauchen, ist die Manpage von awk eigentlich für die meisten Dinge sehr hilfreich. Manchmal aber auch etwas undurchsichtig...
Hinweis: Hilfreich für Stringoperationen ist auch "sed".
 
Zurück
Oben