Mit sed suchen und das gefundene bei der ausgabe wiederverwenden.

OP Persönliche Seite #2098097
Lesenswert?

Hallo zusammen,


ich möchte mit sed eine Liste mit Nummer durchsuchen,
und vor alle Nummern, die mit 473 beginnen und noch 2 weiter Zeichen 
haben,
ein --- schreiben.
Des weiteren soll hinter den Treffern ein ... erscheinen.

Ich habe es mit
1
sed 's/473../---.....\.\.\./g'
und ähnlichen versucht aber alles falsch.

Für eine Lösung wäre ich Dankbar,
   Mr. Pi
Gast #2098130
Lesenswert?

sabine@phenom-ubuntu:~$ cat file1.txt
12345
473xxxx
47312
473ab
8765432

sabine@phenom-ubuntu:~$ awk '{ if ( $0 ~ /^473..$/ ) { print "---" $0 
"..." ; } else { print ; } }' file1.txt
12345
473xxxx
---47312...
---473ab...
8765432

sabine@phenom-ubuntu:~$ awk '{ if ( $0 ~ /^473..$/ ) { print "---" $0 
"..." ; } else { print ; } }' file1.txt > new_file.txt



Ist es das, was Du willst?
Gast #2098716
Lesenswert?

@ Spade, Sam :

Ich habe es ausprobiert: Dein Script funktioniert nicht. Also wirklich 
nur "ungefähr so".

@ all :
Es würde mich aber interessieren, ob man es in der Art in der bash 
hinbekommt. Könnte das Problem ein bach-Erfahrener mal lösen?
OP Persönliche Seite #2098760
Lesenswert?

Danke,

für die Antworten, nur brauche ich leider eine bash Lösung die immer 
geht,
read schmiert leider das ein oder andere mal ab, warum weis keiner.

Also trotzdem Danke, vor allen dir Sabine, deine Lösung tut und falls 
sich keine andere findet, muss ich halt darum betteln, das 'awk' in 
meine shell mit aufgenommen wird :-( .

Vielleicht findet Ja noch irgend ein Bastler die Lösung.


Mit freundlichen Grüßen,
   Mr. Pi

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren