我正在修改一些shell脚本并遇到了这个命令。
sed -i "s@demo.testcase.com@$hostname@g" configuration.xml
我搜索并发现带有s选项的sed只是一个替代品。最后的g代表全球。但是我找不到@符号的用途。
有人可以向我解释上述命令吗?
由于
答案 0 :(得分:5)
紧跟s
之后的符号是命令/参数分隔符。传统上,/
是最常用的,但也可以是其他符号,例如@
。
答案 1 :(得分:2)
如果你想替换它:
/some data/
用这个:
/some other/data
您可以执行此操作并转义/
sed "s/\/some data\//\/some other\/data/g"
或将/
更改为其他人:
sed "s@/some data/@/some other/data@g"