PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [BASH] Zeilenende rausgrepen



R4R
24-04-2006, 09:05
Hallo Leute,

ich habe mal wieder eine Frage, ich habe als Beispiel diesen String



b3U9ZWR2 ou=edv
b3U9dGVzdHp1Z2Flbmdl ou=testzugaenge
b3U9c3lz ou=sys
b3U9aG9tZQ== ou=home


als ausgabe möchte ich nur

edv
testzugaenge
sys
home


da stehen haben.

Könntet Ihr mir bitte weiterhelfen ?

ninguno
24-04-2006, 09:34
sollte zb. so gehen:
sed -e 's/.*=\(.*\)/\1/' meinedatei.txt

R4R
24-04-2006, 10:12
dies klappt leider nicht, ich möchte nicht suchen und ersetzen sondern einfach mit grep ausgeben lassen.

peschmae
24-04-2006, 10:13
Ich vermute mal du kannst das \(.*\) und das \1 weglassen. d.h.

sed -e 's/.*=//'

@R4R: Das sollte eigentlich schon passen - grep ist da nicht das Werkzeug der Wahl da es nur ganze Zeilen ausgibt. Da brauchst du schon sed (oder tr oder awk oder so)

MfG Peschmä

R4R
24-04-2006, 10:27
vielen dank hat wunderbar hingehauen :))

Blackhawk
24-04-2006, 16:14
oder awk -F= '{print $n}'

Joghurt
27-04-2006, 14:03
Oder
cut -d= -f2 Datei

Romanday
27-04-2006, 19:26
oder awk -F= '{print $n}'

Oder
cut -d= -f2 Datei

Kann nicht funktionieren da die letzte Zeile ein wenig anders aussieht.:D


b3U9aG9tZQ== ou=home

---------------------
als ausgabe möchte ich nur

edv
testzugaenge
sys
home
---------------------

Blackhawk
28-04-2006, 07:59
Also meins wuerde funktionieren, da er alles nach dem letzten = nimmt...

colo
05-05-2006, 14:27
egrep -o "[^[:blank:]]+$" file