[gelöst] Hinter einer Zeile eine weitere Zeile einfügen?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

[gelöst] Hinter einer Zeile eine weitere Zeile einfügen?

Beitrag von debnuxer » 27.11.2013 19:40:51

Wie kann man denn per Shellscript in einer Textdatei hinter einer bestimmten Zeile eine weitere einfügen?

Die neue Zeile darf nur direkt hinter der bestimmten Zeile eingesetzt werden und nur falls die bestimmte Zeile existiert.

Z.B. soll hinter der Zeile
bbb bbb
die Zeile
ccc ccc
eingefügt werden.

Also das ist die Textdatei vorher:

Code: Alles auswählen

aaa aaa
bbb bbb
ddd ddd
eee eee
Und das ist sie hinterher:

Code: Alles auswählen

aaa aaa
bbb bbb
ccc ccc
ddd ddd
eee eee
Zuletzt geändert von debnuxer am 27.11.2013 22:58:54, insgesamt 1-mal geändert.
Das Leben ist wie ein überdimensionales Schachbrett.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Hinter einer Zeile eine weitere Zeile einfügen?

Beitrag von habakug » 27.11.2013 20:17:01

Hallo!

Code: Alles auswählen

$ cat Textdatei 
aaa aaa
bbb bbb
ddd ddd
$ sed 's/bbb bbb/bbb bbb\nccc ccc/' < Textdatei
aaa aaa
bbb bbb
ccc ccc
ddd ddd
Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Benutzeravatar
4A4B
Beiträge: 962
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Hinter einer Zeile eine weitere Zeile einfügen?

Beitrag von 4A4B » 27.11.2013 20:27:05

Geht auch noch etwas kürzer, indem das zweite "bbb bbb" durch ein "&" ersetzt wird:

Code: Alles auswählen

sed 's/bbb bbb/&\nccc ccc/' < Textdatei

debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

Re: [gelöst] Hinter einer Zeile eine weitere Zeile einfügen?

Beitrag von debnuxer » 27.11.2013 23:22:08

Danke, klappt bestens.
Das Leben ist wie ein überdimensionales Schachbrett.

Antworten