Czy można to zrobić w jednej wkładce?
Mam takie wyjście:
"First line" - Description
" Second line" - Description
"Third line" - Description
" Fourth line" - Description
To wejście jest generowane automatycznie.
Chcę zamienić pierwsze wystąpienie "
(cudzysłów + spacja) na "
(cudzysłów) dla każdego wiersza. Gdybym zastosować podstawienie globalnie, będzie to również zmienić każde wystąpienie line" -
do line"-
, więc zastanawiałem się, czy możliwe jest, aby użyć sed jedną wkładkę do osiągnięcia tego celu.
Próbowałem używać w ^
ten sposób
sed -r ':a;N;$!ba;s/(\^\" )/\"/g'
Ale to nie działa, niczego nie zastępuje. próbowałem
sed -r ':a;N;$!ba;s/(^|\" )/\"/g'
i zastępuje wszystkie wystąpienia. Właśnie zacząłem używać sed, więc tak naprawdę nie wiem, czy robię coś źle.
Czego tu brakuje?
sed
, ale dla przenośności i aby uniknąć naprawdę dziwnych błędów, powinieneś zakończyć dany argument polecenia po etykiecie (jeśli w ogóle ich potrzebujesz). Np.sed -e ':a' -e 'N;$!ba' -e 'whatever'