我搜索了论坛,但没有找到我的问题的答案。 我有一个看起来像这样的文件:
chr left_pos right_pos
1 2596 3084
1 3084 5869
1 18500 21000
3 21000 21536
3 22872 23179
我已经将文件排在第一列然后第二列: 如果第一列中的字段相同,我想将字段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
感谢您的帮助
答案 0 :(得分:2)
这应该适合你:
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