我想遍历许多制表符分隔的文件并以下列方式更改单个列:
原来的
Col1 Col2 ....
afawer 1
asdgf 1
aser 1
qwerq 10
a3awer 10
1sdgf 11
a55er 11
2wu9 12
asxwer 12
a2dgf 13
a1er 13
qperq 13
...
期望的替换
Col1 Col2 ....
afawer 1
asdgf 1
aser 1
qwerq 2
a3awer 2
1sdgf 3
a55er 3
2wu9 4
asxwer 4
a2dgf 5
a1er 5
qperq 5
...
请注意,Col2 中的运行长度会因每个文件而有很大差异,因此不能对长度进行硬编码。本质上,我要替换的模式是这样的:
aaabbbbbccccdddd
其中 a、b、c 和 d 可以是任何整数。所需的替换是:
1112222233334444
依此类推(即整数的自然排序)。
我想用 Python 或 Perl 来做这件事,或者sed
尽可能只使用 bash 命令。