sed命令用特殊字符替换带有特殊字符的字符串

时间:2015-05-13 21:06:26

标签: regex string bash sed

我有一个名为/ data / user / sam的特殊字符的字符串,我想用/ data / sam替换它,并将其写入名为sample.txt的文本文件中。我能够这样做,但它继续将结果附加到sample.txt上再次运行命令。它应该每次都替换它而不是附加。

以下是片段: -

sed 's/"\/data\/user\/sam"/"\/data\/sam"/g' sample.txt

运行两次时在sample.txt中输出

/data/sam/data/sam

应该是:

/data/sam 

根据用户的需要运行多次。

1 个答案:

答案 0 :(得分:0)

您可以指定模式的分隔符(这里我选择exports.install = function() { F.route('/{username}/', view_user); }; function view_user(username) { if (!username.startsWith('@')) { this.throw404(); else this.plain(username); }); ,这可能不会与路径名冲突):

#

使用选项sed 's#/data/user/sam#/data/sam#g' sample.txt 执行就地替换。