如何在bash中插入千位分隔符?

时间:2013-05-03 21:51:17

标签: bash

我有一个随机包含一些数字的文本,我想找到它们并分成数千个。

输入

Some random text 123456 and other text 987654 etc.

输出

Some random text 123 456 and other text 987 654 etc.

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

该任务有一些极端情况。我对整数的第一次尝试只是这个递归GNU sed命令:

sed -r ':a;s/([0-9])([0-9]{3}([^0-9]|$))/\1 \2/;ta'

演示:

$ echo 'Some random text 123456 and other text 9876522224
5464, 83478234 and 2312.' | sed -r ':a;s/([0-9])([0-9]{3}([^0-9]|$))/\1 \2/;ta'
Some random text 123 456 and other text 9 876 522 224
5 464, 83 478 234 and 2 312.