sed命令:替换命令中的坏标志:'/'

时间:2017-10-04 11:45:55

标签: bash sed

我遇到了格式化某些文件的挑战。我想删除[& lnP之间的所有内容,直到file1.trees中的[& R],然后创建一个名为file1_edit.trees的新文件。但我在替换命令中收到错误'bad flag':'/''

    sed -i '' 's/[&lnP/,/[&R]/{//!d;}/g' file1.trees > file1_edit.trees 


    Error --->> sed: 1: "s/[&lnP/,/[&R]/{//!d;}/g": bad flag in substitute command: '/'

1 个答案:

答案 0 :(得分:0)

假设您要替换" [& lnP /,/ [& R]"使用" {//!d;}",您的命令应为:

sed 's/\[&lnP\/,\/\[&R\]/{\/\/!d;}/g' file1.trees > file1_edit.trees

你需要通过使用正斜杠来转义会与搜索/替换部分混淆的字符。还可以转义将被视为正则表达式(元字符)中的特殊字符的字符。

同时删除-i标志,它将对文件进行更改。