我在特定文件中使用此sed
命令,但它不起作用。
例如
a="adsfkndsa%/{}==admfkdsa"
b=sadkfjdsaklfj
sed -i -e 's/$a/$b/g' /tmp/sample.txt
請建議另一種方式。
答案1
我剛剛嘗試過,它可以在我的系統(Debian 8)上運行:
sed -i.bak "s|$a|$b|g" /tmp/sample.txt
您需要更改分隔符,因為變數$a
包含/
.
前:
cat /tmp/sample.txt.bak
foo
adsfkndsa%/{}==admfkdsa
bar
後:
cat /tmp/sample.txt
foo
sadkfjdsaklfj
bar
編輯,sed版本資訊:
sed --version
sed (GNU sed) 4.2.2