Sed соответствует после кавычек

Похоже, вы должны сделать [^\"]*вместо\*:

sed -i "s/<FOLDER NAME=\"[\"]*\"/<FOLDER NAME=\"$FLDR\"/g" Gather.XML

Поскольку вы хотите сопоставить весь текст до первого ". \*будет соответствовать буквальному символу *, но у вас его нет, поэтому содержимое файла никогда не совпадает.

0
26.03.2020, 18:06
1 ответ
$ echo '"Foo"BA_R' | sed  's,.*",,'
BA_R
$ echo '"Foo"BAR' | sed  's,.*",,'
BAR

Это также хороший джаб дляcut:

$ echo '"Foo"BA_R'  | cut -d'"' -f3
BA_R
$ echo '"Foo"BAR'  | cut -d'"' -f3
BAR
1
19.03.2021, 02:32

Теги

Похожие вопросы