Eu gostaria de cortar espaços extras da saída "ps aux" e substituí-los por um espaço. O que eu faço é:
ps axu | sed 's/[ ]+/ /g'
Mas a saída parece inalterada, ainda recebo muitos espaços entre os tokens.
username 4876 ... <the rest of columns ommitted>
Por que essa expressão regular não corresponde ao espaço vazio entre o nome de usuário e o pid?
Porque
sed
usa expressões regulares básicas (BRE) e+
não faz parte delas. Uses/ */ /
(dois espaços na parte do padrão) ou-E
para expressões regulares estendidas em GNU ou BSDsed
:sed -E 's/ +/ /g'