需要 sed 帮助以用空格替换文本

需要 sed 帮助以用空格替换文本

如何将配置文件中的以下文本替换为空行?

# + : 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

相关内容