bash – 重置awk中的行号计数
发布时间:2020-12-15 22:25:41 所属栏目:安全 来源:网络整理
导读:我有这样的文件 ?file.txt的 0 1 a1 1 b2 1 d3 1 d4 2 g5 2 a6 3 b7 3 d8 4 d9 5 g10 5 g... 我希望第二列$1中的字段值在使用awk或bash脚本更改时,在第一列$1中将重置行数计数设置为0. 结果 0 1 a1 1 b2 1 d3 1 d0 2 g1 2 a0 3 b1 3 d0 4 d0 5 g1 5 g... 解
我有这样的文件
?file.txt的 0 1 a 1 1 b 2 1 d 3 1 d 4 2 g 5 2 a 6 3 b 7 3 d 8 4 d 9 5 g 10 5 g . . . 我希望第二列$1中的字段值在使用awk或bash脚本更改时,在第一列$1中将重置行数计数设置为0. 结果 0 1 a 1 1 b 2 1 d 3 1 d 0 2 g 1 2 a 0 3 b 1 3 d 0 4 d 0 5 g 1 5 g . . . 解决方法
只要你不介意一点多余的内存使用,并且第二列是排序的,我认为这是最有趣的:
awk '{$1=a[$2]+++0;print}' input.txt (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |