我搜索了论坛,但没有找到问题的答案。我有一个看起来像这样的文件:
chr left_pos right_pos
1 2596 3084
1 3084 5869
1 18500 21000
3 21000 21536
3 22872 23179
我已经对文件进行了排序 第一列 然后是第 2 列:如果第一列中的字段相同,我想将字段 3 中的数字与下一行字段 2 中的数字进行比较。如果是,请在行尾添加相等的标签。如果不添加不等于。
输出应如下所示
chr left_pos right_pos
1 2596 3084 not_equal
1 3084 5869 equal
1 18500 21000 not_equal
3 21000 21536 not_equal
3 22872 23179 not_equal
感谢您的帮助
这应该适合您:
awk 'NR==1 { print; next } { print $0, ($1 == a && $2 == b) ? "equal" : "not_equal"; a = $1; b = $3 }' file | column -t
结果:
chr left_pos right_pos
1 2596 3084 not_equal
1 3084 5869 equal
1 18500 21000 not_equal
3 21000 21536 not_equal
3 22872 23179 not_equal