如何用未知数量的空格替换 sed 中的一行?

如何用未知数量的空格替换 sed 中的一行?

我想用 sed 替换配置文件中的一行。但我尝试替换的行包含未知数量的空格:

conf  is    foo
conf   is    bar
config    is      foobar

我尝试匹配空格字符,但\s+没有成功:

$ sed -r 's|conf\s+is\s+foo|conf is boo|g' file.txt

我想conf is foo用 来替换conf is boo

我怎样才能做到这一点?

答案1

sed不支持\s,您必须使用[[:blank:]]

sed -r 's|conf[[:blank:]]+is[[:blank:]]+foo|conf  is  boo|g' file.txt

相关内容