Ist es möglich, es in einem Liner zu tun?
Ich habe eine Ausgabe wie diese:
"First line" - Description
" Second line" - Description
"Third line" - Description
" Fourth line" - Description
Diese Eingabe wird automatisch generiert.
Ich möchte das erste Vorkommen von "
(Anführungszeichen + Leerzeichen) durch "
(Anführungszeichen) für jede Zeile ersetzen . Wenn ich die Substitution global anwende, ändert sich auch jedes Vorkommen von line" -
bis line"-
. Daher habe ich mich gefragt, ob es möglich ist, einen sed one-Liner zu verwenden, um dies zu erreichen.
Ich habe versucht, ^
so zu verwenden
sed -r ':a;N;$!ba;s/(\^\" )/\"/g'
Aber es funktioniert nicht, es ersetzt nichts. Ich habe es versucht
sed -r ':a;N;$!ba;s/(^|\" )/\"/g'
und es ersetzt alle Vorkommen. Ich habe gerade angefangen, sed zu verwenden, daher weiß ich nicht wirklich, ob ich etwas falsch mache.
Was fehlt mir hier?
sed
, aber um die Portabilität zu gewährleisten und wirklich seltsame Fehler zu vermeiden, sollten Sie ein bestimmtes Befehlsargument nach einer Beschriftung beenden (falls Sie sie überhaupt benötigen). ZBsed -e ':a' -e 'N;$!ba' -e 'whatever'