我想从“ps aux”输出中删除多余的空格,并将其替换为一个空格。我所做的是:
ps axu | sed 's/[ ]+/ /g'
但输出似乎没有变化,我在标记之间仍然有太多空格。
username 4876 ... <the rest of columns ommitted>
为什么这个正则表达式不匹配用户名和 pid 之间的空格?
答案1
因为sed
使用基本正则表达式 (BRE),并且+
不是其中的一部分。使用s/ */ /
(模式部分中的两个空格),或-E
用于 GNU 或 BSD 中的扩展正则表达式sed
:sed -E 's/ +/ /g'