Чи можливо це зробити в одному вкладиші?
У мене такий результат:
"First line" - Description
" Second line" - Description
"Third line" - Description
" Fourth line" - Description
Цей вхід генерується автоматично.
Я хочу замінити перше виникнення "
(лапки + пробіл) на "
(лапки) для кожного рядка. Якщо я застосовую заміну в усьому світі, він буде також змінити кожне входження line" -
в line"-
, тому мені було цікаво , якщо це можливо використовувати SED один вкладиш для досягнення цієї мети .
Я намагався використовувати ^
таке
sed -r ':a;N;$!ba;s/(\^\" )/\"/g'
Але це не працює, він нічого не замінює. я намагався
sed -r ':a;N;$!ba;s/(^|\" )/\"/g'
і це замінює всі події. Я тільки почав використовувати sed, тому я не знаю, чи роблю я щось не так.
Що я тут пропускаю?
sed
, але для портативності та уникнення дійсно дивних помилок слід закінчити заданий аргумент команди після мітки (якщо вони взагалі потрібні). Наприклад,sed -e ':a' -e 'N;$!ba' -e 'whatever'