LINUX.ORG.RU

grep переменную из файла

 ,


0

1

Нужно из файла получить имена всех переменных, заключенных в ${}, например слово CODE из ${CODE}. Наивный вариант grep -o \$\{*\} , не работает, хотя я не понимаю, почему, вроде спецсимволы заэкранированы. Как исправить?

★★★★

Экранирование для { и } не нужно. И перед * нужна точка. Плюс жадность надо учитывать.

$ echo 'a${CODE}b${CODE}' | grep -o '\${[^}]\+}'
${CODE}
${CODE}

xaizek ★★★★★
()
Последнее исправление: xaizek (всего исправлений: 1)

grep поддерживает pcre и lookaround

grep -oP '(?<=\${)[^}]+(?=})'

CaHbl4
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.