用NULL替换文件中的2个或更多空格

Joy*_*oti 1 unix bash sed

使用sed,如何用NULL替换2个或更多的空格?

输入

200 0 0  100      300    400 10
Run Code Online (Sandbox Code Playgroud)

期望的输出

200 0 0100300400 10
Run Code Online (Sandbox Code Playgroud)

dev*_*ull 5

你可以使用sed(这不是特定于GNU sed):

sed -r 's/[ ]{2,}//g' filename
Run Code Online (Sandbox Code Playgroud)

或(没有-r):

sed 's/[ ]\{2,\}//g' filename
Run Code Online (Sandbox Code Playgroud)

对于您的输入,这将产生:

200 0 0100300400 10
Run Code Online (Sandbox Code Playgroud)


Ed *_*ton 5

这适用于任何sed,而不仅仅是GNU sed:

sed -e 's/   *//g'
Run Code Online (Sandbox Code Playgroud)