Linux

在 sed 中需要幫助以用空格替換文本

  • July 17, 2020

如何用配置文件中的空行替換下面的文本?

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

引用自:https://unix.stackexchange.com/questions/585451