sed - bereich in jeder zweiten Zeile ersetzen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Baldrian
Beiträge: 290
Registriert: 13.05.2004 16:22:39

sed - bereich in jeder zweiten Zeile ersetzen

Beitrag von Baldrian » 21.10.2006 22:57:57

Moin,
ich möchte html Dateien über arbeiten, so das sie zu einer .css Datei passen.
Damit das alles passt, müsste ich ab einer bestimmten Zeile in jeder zweiten Zeile etwas ändern.
Wie kann ich das mit sed hinbekommen?
Die einzelnen aufgaben (austauschen etc.) sind nicht das Problem, nur bekomme ich das nicht in einen befehl zusammen.
Danke schon mal.
"Was auch immer geschieht, nie dürft ihr so tief sinken,
von dem Kakao, durch den man euch zieht, auch noch zu trinken."

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 21.10.2006 23:40:13

Meinst Du sowas?

Code: Alles auswählen

$ cat test.txt
1 hallo
2 hallo
3 hallo
4 hallo
5 hallo
6 hallo
7 hallo
8 hallo
$ sed '3~2s/hallo/huhu/' test.txt
1 hallo
2 hallo
3 huhu
4 hallo
5 huhu
6 hallo
7 huhu
8 hallo
Ab der dritten Zeile wir jede Zweite Zeile bearbeitet.
MfG GoKi
:wq

Benutzeravatar
Baldrian
Beiträge: 290
Registriert: 13.05.2004 16:22:39

Beitrag von Baldrian » 22.10.2006 22:05:08

ja, vielen Dank.
hm, sieht ja gar nicht so kompliziert aus, aber bei sed weiß man ja auch nie (oder ich zumindest noch nicht :roll: )
"Was auch immer geschieht, nie dürft ihr so tief sinken,
von dem Kakao, durch den man euch zieht, auch noch zu trinken."

Antworten