用sed替换文件中的空格

时间:2023-01-09 15:28:54
用sed替换文件中的空格请教sed 替换问题

请教各位如何替换多个空格为一个字符,如一个文件中间隔符有是一个空格,有的地方是多个空格,想全部用“|”替换,如何处理,请指教

 

用sed替换文件中的空格请教sed 替换问题

[code]sed '/ \+/s//|/g'[/code]

 

用sed替换文件中的空格请教sed 替换问题

来个awk的。
awk '{for (i=1;i<nf;i++) printf="" $i"|";printf="" "\n"}'="" file<="" td="">

 

用sed替换文件中的空格请教sed 替换问题

可以讲讲 sed '/ \+/s//|/g' 的执行过程吗?
我知道 “/ \+/” 是先查询定位一下,可 “s//|/g”s指令被替换部分为空看不懂。
与 sed 's/ \+/|/g' 的执行效果是一样的,执行过程有什么不同吗?

 

用sed替换文件中的空格请教sed 替换问题

看精华中的sed1line

 

用sed替换文件中的空格请教sed 替换问题

-->
这个不是很清楚,据说比sed 's/ \+/|/g'要快
被替换部分为空,表示其正则和前面的一样。

 

用sed替换文件中的空格请教sed 替换问题

这样不就可以了吗~!
sed 's/ /|/g'  filename



用sed替换文件中的空格请教sed 替换问题

/ \+/  是空格匹配一次或多次吧