将两个或多个空格更改为单个分号

Aro*_*ron 5 linux string shell replace

我正在努力格式化db2查询.我想用分号替换字符串中的2个或更多空格.我知道如何用所有空间来做,问题是如何只改变2个或更多空格:P

这是一个例子,我想改变这个:

john doe    1900-01-01    california
Run Code Online (Sandbox Code Playgroud)

john doe;1900-01-01;california
Run Code Online (Sandbox Code Playgroud)

问题是我在名称字段中有一个空格,所以我不能使用简单的tr命令.在我的实际工作中,任何领域都可以有一个空间.

非常感谢你的帮助!提前致谢!

msw*_*msw 6

$ sed 's/   */;/g' 
john doe   1900-01-01  california 
john doe;1900-01-01;california 
one space  two  spaces   three    spaces
one space;two;spaces;three;spaces
Run Code Online (Sandbox Code Playgroud)


Alb*_*gni 3

尝试使用

sed -i 's/   */\;/g' your-file
Run Code Online (Sandbox Code Playgroud)

;这将在您传递的文件中用 替换每 2 个或更多空格。