• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

sed

catweasel

Hacker
Hi,

hab eine Entdeckung gemacht:

ich kann bei

Code:
sed "/muster/ a\ zeile" datei

den Backslash nach a weglassen, wenn ich keine neue Zeile beginne.

Code:
sed "/muster/azeile" datei
 

regexer

Advanced Hacker
catweasel schrieb:
den Backslash nach a weglassen, wenn ich keine neue Zeile beginne.
Diese Aussage verstehe ich ehrlich gesagt nicht ganz. Es ist nämlich nicht dasselbe. Der Backslash entwertet in diesem Falle das Leerzeichen und fügt selbiges ein.
Code:
prompt> echo xmusterx | sed "/muster/ a\ zeile"
xmusterx
 zeile
prompt> echo xmusterx | sed "/muster/azeile"
xmusterx
zeile
prompt> echo xmusterx | sed "/muster/ a\
> zeile"
xmusterx
zeile
prompt>
Im Letzten Fall entwertet der Backslash das Newline...
 
OP
C

catweasel

Hacker
Ok, habe das erste Beispiel falsch geschreiben - es sollte so aussehen:

Code:
sed "/muster/ a\zeile" datei

Stein des Anstoßes war ein nicht richtig funktionierendes Skript:

Code:
zeile="Meine Zeile"
sed "/muster/ a\$zeile" datei

Darum der Versuch ohne Backslash.
 
Oben