我想找到一个x
, 并将后面的 0 个或多个空格 ( \s*
) 替换为一个空格。
echo "x ax" | sed 's/x\s*/x /'
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它没有用单个空格替换空格,而是将一个空格附加到之前存在的空格中:
x ax
Run Code Online (Sandbox Code Playgroud)
不管我使用了标志,使用+
替代*
似乎绝对没有-E
。
似乎sed
没有做非贪婪的表达式,那么为什么*
在匹配时不消耗所有空格?
我是非 bash 设置中的正则表达式忍者,但 bash 及其工具让我活着。我不知道如何为成功的搜索引擎查询简洁地表达这一点。