[bash] 2 Teile eines Strings ausgebene


HonniCilest

Erfahrenes Mitglied
Hallo,

irgendwie habe ich gerade ein Brett vor dem Kopf.

ich habe einen String, der sich aus 2 Teilen zusammensetzt, ein Teil einer URL und einer 3 stelligen Zahl (HTTP Code) Problem: Die URL kann eine unterschiedliche Anzahl an Token haben z.B.
/a/b/c 200
/a/b/c 500
/a/b/c/d 200
/z/y/x/w/v 404

Ich möchte den String auf den ersten Token und die Zahl reduzieren.
also
a 200
a 500
a 200
z 404

Please help


Viele Grüße
HC
 

HonniCilest

Erfahrenes Mitglied
Habs gelöst, habe mir das Leerzeichen durch ein '/' ersetzt und dann awk mit -F'/' drüberlaufen lassen und dann $2 sowie $NF ausgegeben

Gibt bestimmt einer sauberere Variante aber hey... 8)
 

zerix

Hausmeister
Moderator
Ich würde auf die schnelle mal awk vorschlagen und als Trennzeichen den / und ' ' nehmen und dann die erste und letzte Spalte ausgeben.

Code:
echo "/x/y/z 200" | awk 'BEGIN { FS = "[/ ]" } ; { print $2 " " $NF }'

Viele Grüße
Sascha