在unix中用逗号替换多个空格

Pra*_*nth -1 unix bash sed tr

我有一个包含以下数据的文件:

1               abcd               hello world               5000
Run Code Online (Sandbox Code Playgroud)

(注意:每个单词之间有15个空格,"hello world"是单个条目,其间有一个空格)

我必须用一个逗号(,)替换15个空格."你好"和"世界"之间的单一空间应该保持不变.

我已经尝试了sed和tr命令的各种组合,但没有任何工作.

fed*_*qui 5

这是一份工作sed:

$ sed -r 's/ {15}/,/g' file
1,abcd,hello world,5000
Run Code Online (Sandbox Code Playgroud)

或者,没有-r允许扩展正则表达式的标志:

$ sed 's/ \{15\}/,/g' file
1,abcd,hello world,5000
Run Code Online (Sandbox Code Playgroud)

这说:获得15个空格并用逗号替换它们.较小的空间不会被替换.