如何将配置文件中的以下文本替换为空行?
# + : STANDANRD\ADMIN_USERS_ONLY : ALL
答案1
sed -i 's/# + : STANDANRD\\ADMIN_USERS_ONLY : ALL//g' config_file
应该可以解决问题。请注意双反斜杠,这很重要,因为反斜杠后跟一个字符对正则表达式解析器具有特殊含义。这些元字符是空格 ( \s
)、字母数字字符 ( \w
) 或\A
字符串开头(正则表达式维基百科文章有一个表格总结了最流行的元字符)。由于反斜杠具有特殊含义,因此您必须输入双倍的反斜杠如果您想匹配文件中的单个反斜杠。
CentOS 7 上的输出示例:
[tux@centos7 ~]$ cat config_file
# + : STANDANRD\ADMIN_USERS_ONLY : ALL foo
[tux@centos7 ~]$ sed -i 's/# + : STANDANRD\\ADMIN_USERS_ONLY : ALL\(.*\)/\1/g' config_file
[tux@centos7 ~]$ cat config_file
foo