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