首页 > 解决方案 > 将数字添加到相邻列并根据匹配 bash awk 递增

问题描述

我想将第二列数据添加到一组坐标(每行一行),根据重复出现的字符串或分隔符(male_position)将这些坐标组合在一起。

这是一个示例数据集:

male_position
0.0
0.0
2.2
3.0
4.5
male_position
0.0
1.2
20.2
male_position
1.0
2.0

我想将分组 ID 添加到下一列:

script.awk example.file
male_position  1
0.0  1  
0.0  1
2.2  1
3.0  1
4.5  1
male_position  2
0.0  2
1.2  2
20.2  2 
male_position  3
1.0  3
2.0  3

我不是从哪里开始,但认为 awk 会完成它。例如,我可以在列中添加连续的数字(按行)awk '$2=(FNR FS $2)' myFile,但这显然不能根据匹配/分隔符对坐标进行分组,然后在每次匹配时进行标记。

标签: bashawk

解决方案


推荐阅读