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'