【发布时间】:2020-07-03 16:46:24
【问题描述】:
如何利用 sed 在每三位数字之间插入空格,但仅当数字长于 10 位时,即:
blahaaaaaa goog sdd 234 3242423
ala el 213123123123
1231231313123 i 14124124141411
应该变成:
blahaaaaaa goog sdd 234 3242423
ala el 213 123 123 123
123 123 131 312 3 i 141 241 241 414 11
我可以使用 sed 's/[0-9]\{3\}/& /g' 轻松分隔 3 位数字,但不能将其与数字长度结合。
【问题讨论】:
-
是否使用
awk选项? -
我更喜欢
sed但是,是的,awk是不错的第二选择。 -
perl -pe 's/\d{10,}/$&=~s|\d{3}|$& |gr/ge' file