了解Sed命令

时间:2014-04-29 07:31:12

标签: bash sed

我正在修改一些shell脚本并遇到了这个命令。

sed -i "s@demo.testcase.com@$hostname@g" configuration.xml

我搜索并发现带有s选项的sed只是一个替代品。最后的g代表全球。但是我找不到@符号的用途。

有人可以向我解释上述命令吗?

由于

2 个答案:

答案 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"