unix sed命令不起作用

时间:2016-01-21 05:07:47

标签: bash unix sed

我正在尝试编辑一个名为BookDB.txt的文件,其中包含

Boy:Man:67.00:15:28

Harry Potter - Order of Phoenix:J.K.Rowling:70.00:40:20
Harry Potter - Half Blood Prince:J.K.Rowling:40.00:50:20

这是我的命令

sed -i "s/""$title""/""$newtitle""/g" ./BookDB.txt

有效。 但是我想确保它编辑$ title的确切字符串,因为如果我们说它包含&#34; a&#34;,那么我文件中的所有字母a都将被更改。 在这种情况下如何使用<\ \>

1 个答案:

答案 0 :(得分:0)

你可以尝试一个简单的选项,因为标题从行的开头开始并用冒号分隔,是这样的:

sed -i "s/^""$title:/""$newtitle"":/g" BookDB.txt

请注意^将匹配锚定到该行的开头,:位于匹配和替换部分。