我尝试了以下代码片段,但是sed
命令替换了显式显示的$ var而不是当时var的thr值。我怎么解决这个问题?
for var in 01 02
do
sed -e 's/%\\include{removeMe}/\\include{chapter_$var}/g'
done
答案 0 :(得分:2)
尝试双引号:
sed -e "s/%\\include{removeMe}/\\include{chapter_$var}/g"
(更好的是,首先尝试使用简单示例的单/双引号。)
答案 1 :(得分:0)
for var in 01 02
do
sed -e "/[%]\(\\include{\}removeMe}/ s//\1chapter_${var}}/g"
done
使用后向引用和封装
但是如果var没有与你的样本中的文件名关联(所以sed是管道)一起使用它也可以替换(也因为01替换将消除找到02替换模式的任何可能性)
YourStream | sed -e 's/%\(\\include{\}removeMe}/\1chapter_01}/g'