SED或AWK:将$ {xxxx}更改为“{xxxx}”

时间:2015-08-04 08:01:05

标签: awk sed

文件中有变量$ {world}!

如何将$ {world}更改为“{world}”

2 个答案:

答案 0 :(得分:2)

printf 'hello ${world}\n ${he} l ${lo} all\n' | sed "s/\${\([^}]*\)}/'\1'/g"

给出:

hello 'world'
 'he' l 'lo' all

从内到外:

  • [^}]*表示重复0次或更多次的非}个字符
  • \(...\)表示记住括号中的任何内容\1
  • \$表示$字符而不是行尾
  • g表示行中每次出现的模式

答案 1 :(得分:-1)

你真的想要抓住什么?字面上xx?这很容易:

echo '${xx}' | sed "s/\${xx}/\'{xx}\'/"

但我怀疑那不是你想要的