使用sed时包括括号

时间:2017-10-23 12:31:04

标签: bash sed

在BASH中,当我们使用sed命令时。如果我必须用“罪(x)”代替“罪”这个词,我该怎么办?它将括号作为其他东西而我正在收到错误

示例:

sed -i "3s/.*/xaxis label \" "Time (fs)" /" sigma.bfile 

(我可以逃避引号,但不能(或))

1 个答案:

答案 0 :(得分:0)

使用语法突出显示可以帮助您:

sed -i "3s/.*/xaxis label \" "Time (fs)" /"
       1                   2 3         4  5

双引号3结束双引号1,因此字符串Time (fs)显示为不引用。双引号不嵌套。括号在shell中具有特殊含义。你确定要用双引号nubmer 3来结束引用的字符串吗?

你可能只想

sed -i "3s/.*/xaxis label \"Time (fs)\"/"

如果用单引号替换双引号可能会更简单

sed -i '3s/.*/xaxis label "Time (fs)"/'