bash - 将数字添加到相邻列并根据匹配 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
,但这显然不能根据匹配/分隔符对坐标进行分组,然后在每次匹配时进行标记。
解决方案
推荐阅读
- c - WSAConnect - 远程服务器响应端口 80 和 443
- java - 为 FeignClient RetryableException 设置 HTTP 状态
- c# - datagridview 单元格相乘并求和文本框中的列
- service-reference - 服务引用上的 C# 中的 FakeItEasy
- linux - VS Code 无法正确响应 Linux Mint 中的键盘切换?
- java - 是否可以在没有嵌套循环的情况下读取整个 XML 文件
- css - 如何覆盖从 ui-include 生成的 div 类
- snowflake-cloud-data-platform - 通过 snlowsql 复制到命令时加载 csv 文件时出错
- php - 当 URl 存在时,Strrpos 无法正常工作
- java - spring boot - undertow https 会话不会过期或停止 ssl 握手