Regex 使用sed删除{}个字符
问题是,我无法从HTML文件中的字符串中删除符号{和},在该文件中,字符串看起来像Regex 使用sed删除{}个字符,regex,bash,sed,mv,Regex,Bash,Sed,Mv,问题是,我无法从HTML文件中的字符串中删除符号{和},在该文件中,字符串看起来像 Var @footer Set @footer = TransformXML(XML, GetPortfolioItem("Footer_EN_${et.mode}")) 我需要删除带有“newmode”文本变量的${et.mode}。 比如说 was ("Footer_EN_${et.mode}")) will be ("Footer_EN_my_current_mode")) 我设置了一个与下一个类似的变
Var @footer Set @footer = TransformXML(XML, GetPortfolioItem("Footer_EN_${et.mode}"))
我需要删除带有“newmode”文本变量的${et.mode}。
比如说
was ("Footer_EN_${et.mode}"))
will be ("Footer_EN_my_current_mode"))
我设置了一个与下一个类似的变量
echo -n "choose name: "
read newmode
path=/root/EN
newpath=tmp/EN_$newmode
default_text="${et.mode}"
sed -i "s/\/{et.mode}/\/$newmode/g" *.html
sed -i "s/$default_text/$newmode/g" *.html
但它不起作用试试:
sed -i 's/\${et\.mode}/'"$newmode/g" *.html
您需要逐字匹配
$
字符,因此需要对其进行转义。这应该在单引号内完成。$newmode
变量应该在双引号内,以便展开。为什么在regexp中有\/
?文件中没有反斜杠?@shoover这个问题和它有什么关系?他匹配的是一种编程语言,而不是HTML。像往常一样,在这种情况下,值得一提的是,$newmode
不应该包含诸如符号、反斜杠等内容。