Linux
在 sed 中需要幫助以用空格替換文本
如何用配置文件中的空行替換下面的文本?
# + : STANDANRD\ADMIN_USERS_ONLY : ALL
sed -i 's/# + : STANDANRD\\ADMIN_USERS_ONLY : ALL//g' config_file
應該做的伎倆。請注意雙反斜杠,這很重要,因為反斜杠後跟一個字元對正則表達式解析器具有特殊含義。這些元字元是空格 (
\s
)、字母數字字元 (\w
) 或\A
字元串開頭的快捷方式(正則表達式 Wikipedia 文章有一個表格總結了最流行的元字元)。由於反斜杠具有這種特殊含義,如果要匹配文件中的單個反斜杠,則必須鍵入雙反斜杠。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