Grep 包含多个空格的单词

Grep 包含多个空格的单词

我正在尝试从文件中 grep 以下文本,并尝试使用 sed 命令取消注释。请帮忙

#auth           required        pam_wheel.so use_uid

需要#使用 sed grep 并删除完全相同的行

答案1

我已经使用 patch 命令来完成类似的事情。

制作文件的备份副本,使用普通编辑器进行编辑,然后用于diff -u file.bak file > file.patch生成补丁。

patch -p0 file.patch然后您可以在下次应用该补丁(-p0如果您使用完整路径名,则可能需要更改。

这比生成精确的 sed 行更容易,而且更安全,就像文件不匹配一样,补丁将失败而不是破坏文件。这也适用于多行更改。

答案2

使用 GNU sed:

sed -E 's/^#(auth[[:space:]]+required[[:space:]]+pam_wheel\.so use_uid[[:space:]]*)$/\1/' file

如果输出看起来正确,那么您可以添加-i直接编辑文件的选项。

相关内容