Ja, aber es gibt einen Zeilenspeicher und einen Befehl, den aktuellen Zeileninhalt an den Zeilenspeicher anzuhängen. Dann kann man diesen zurückholen und mit s/../../ splitten. Ich bin aber nicht genug sed-Guru, um den entsprechenden Code ohne längere Recherche hinzuschreiben. Ich würde das Problem mit perl lösen (oder zur Not mit awk, falls es aus irgendeinem Grund auf einem System ohne Perl laufen muss)toralf wrote:sed heißt (s)tream-line (ed)itor - das Design ist also, zeilenweise zu agieren.
Code: Select all
$ echo -e "aaa\nbbb.bbb\nccc."
aaa
bbb.bbb
ccc.Code: Select all
$ echo -e "aaa\nbbb.bbb\nccc." | perl -ne "chomp; s/\./.\n/g; print;"
aaabbb.
bbbccc.Code: Select all
cat datei | perl -ne "chomp; s/\./.\n/g; print;"Bitte sehr:passst wrote: Es soll also,
aaa
bbb.bbbb
ccc.
so aussehen:
aaabbb.
bbbccc.
Code: Select all
sed ':a;N;$!ba;s/\n//g;s/\./.\n/g' deine_datei.txtCode: Select all
sed ':a;N;$!ba;s/\n//g;s/\./.\n/g' deine_datei.txtsed ist vermutlich sogar Turing-vollständig (von der theoretischen Einschränkung der Stringlänge durch die Implementierung einmal abgesehen, natürlich). Es gibt sogar verschiedene Spiele, die in sed programmiert sind: Tetris, Türme von Hanoi, ... die einzige Einschränkung bei der Interaktivität ist natürlich, dass man nach jeder Eingabe "return" drücken muss.l3u wrote:Abgefahren. Ich wusste gar nicht, dass sed sowas kann …
:-Dmv wrote:Es gibt sogar verschiedene Spiele, die in sed programmiert sind: Tetris