我正在尝试编写一个 sed 命令,在 && (AND) 运算符的任一侧添加一个空格。这是我到目前为止所拥有的:
sed -E 's+(\&\&)|(\s*\&\&\s*)+ & +g test.c
&& 周围没有空格的第一个条件有效,所以
if(numberIn==0&&char=='g')
变成
if(numberIn==0 && char=='g')
但是 1 个或多个空格的第二个条件不起作用。所以这
if(numberIn==0 && char=='g')
没有改变。
与其他二元运算符一起使用的模式,\s*OPERATOR\s*
所以我不确定为什么它不适用于 and 运算符。我是否遗漏了有关在 and 运算符上使用 sed 的内容?对于第一个条件,我注意到如果你用“ && ”替换它,你实际上会得到“ && &&”,所以这就是替换模式是“ & ”的原因。(OR 或 EQUALS 运算符不是这种情况)。
任何提示将不胜感激。