Chinaunix
标题:
如何在文本中生成顺序号
[打印本页]
作者:
reallytrue
时间:
2021-12-14 09:23
标题:
如何在文本中生成顺序号
请教,原文本样例如下(行数不固定):
aaaaaa
a0000000abc
a0000000ce
a0000000efc
现希望从第2行开始生成8位顺序号,并替换原来文本中第2-9列的内容,即:
aaaaaa
a0000001abc
a0000002ce
a0000003efc
。。。
。。。
。。。
a0000010efc
a0000011efc
请问如何实现,感谢
作者:
baby_神
时间:
2021-12-15 11:46
[root@test-02 ~]# cat a
aaaaaa
a0000000abc
a0000000ce
a0000000efc
[root@test-02 ~]# awk 'NR==1;NR>1{a=sprintf("%07g",NR-1);sub(/0{7}/,a);print $0}' a
aaaaaa
a0000001abc
a0000002ce
a0000003efc
[root@test-02 ~]# awk 'NR==1;NR>1{a=sprintf("%07g",NR-1);sub(/0000000/,a);print $0}' a
aaaaaa
a0000001abc
a0000002ce
a0000003efc
复制代码
作者:
legs
时间:
2021-12-16 09:18
说是8位,样例中是7位,按7位来吧:
perl -pe's#\d+#sprintf"%07d",++$n#e'
复制代码
作者:
wh7211
时间:
2021-12-16 16:52
回复
1#
reallytrue
cat 1
aaaaaa
a0000000abc
a0000000ce
a0000000efc
awk 'NR>1{sub(substr($1,2,7),sprintf("%07d",++a))}1' 1
aaaaaa
a0000001abc
a0000002ce
a0000003efc
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2