在linux中的数字之间插入分隔符

时间:2016-05-16 05:29:03

标签: linux shell awk

我从数据库中检索的随机数很少。例如

12203770
6458251
6458250
10336719
10366878
10366877
10366874
81048

现在,我必须放置分隔符" /"在他们之间。我正在使用这个命令:

[root@abc01 ~]#  awk 'BEGIN{FS="";OFS="/"} {print $1,$2,$3,$4,$5}' /tmp/abc.txt

如果数字是8位数但我的requirement是: 命令/脚本应该从右边留下最后3位,如果是休息,它会打印带分隔符的数字。

需要所需的输出:

1/2/2/0/3
6/4/5/8
6/4/5/8
1/0/3/3/6
1/0/3/6/6
1/0/3/6/6
1/0/3/6/6
8/1

请帮助。

2 个答案:

答案 0 :(得分:1)

awk 'BEGIN{FS="";OFS="/"}{NF-=3;print}' file
1/2/2/0/3
6/4/5/8
6/4/5/8
1/0/3/3/6
1/0/3/6/6
1/0/3/6/6
1/0/3/6/6
8/1

答案 1 :(得分:0)

$ awk '{gsub(/./,"&/"); sub(/.{7}$/,"")} 1' file
1/2/2/0/3
6/4/5/8
6/4/5/8
1/0/3/3/6
1/0/3/6/6
1/0/3/6/6
1/0/3/6/6
8/1

$ sed 's#.#&/#g; s#.\{7\}$##' file
1/2/2/0/3
6/4/5/8
6/4/5/8
1/0/3/3/6
1/0/3/6/6
1/0/3/6/6
1/0/3/6/6
8/1