我在替换时遇到问题
"count: $OFF_COUNT times"
具有:
"count: " .. OFF_COUNT .. " times"
我尝试过:
sed 's/\$\([A-Z0-9_]+\)\b/" .. \1 .. "/g'
但是,它没有任何作用。
输出不变。
答案 0 :(得分:1)
您几乎输入了正确的命令。唯一的问题是,在基本的sed
语法中,+
是一个文字(相当于[+]
)。引用sed
的{{3}}:
基本正则表达式和扩展正则表达式之间的唯一区别是 一些字符的行为:
?
,+
,括号和大括号 ({}
。
[...]
c\+
使用扩展的正则表达式时,将变为c+
。它与一个或多个“ c”匹配。
要启用+
的通常含义,请写\+
sed 's/\$\([A-Z0-9_]\+\)\b/" .. \1 .. "/g'
或使用扩展的sed
语法
sed -E 's/\$([A-Z0-9_]+)\b/" .. \1 .. "/g'