当我使用像a=10
我能够获得sed find / replace working
sed -e "s/xxx/$a/g" a.txt
但是当我尝试使用像a=http://xyz.com
sed -e "s/xxx/$a/g" a.txt
无效...
它抛出未知的选项错误,我假设是由于变量
上存在的转义字符答案 0 :(得分:4)
使用awk你的字符串可以包含任何字符,包括/,@,换行符,等等:
$ a="http://xyz.com"
$ echo "<xxx>" | awk -v a="$a" '{gsub(/xxx/,a)}1
<http://xyz.com>
答案 1 :(得分:2)
试试这个:
sed -e "s@xxx@$a@g" a.txt