我想检查两行是否有相等的 $4 我的 shell 必须检查第 2 行中的 $3 和第 3 行中的 $2 之间的差是否等于 1 它必须将两行连接成一行,像这样
1;1000000000;1099999999;2
2;1100000000;1199999999;3
3;1200000000;1200004444;3
输出
1;1000000000;1099999999;2
2;1100000000;1200004444;3
我甚至不知道如何使用 awk 或其他东西
答案1
Perl 来救援:
perl -F';' -lane '
if ($L[2] + 1 == $F[1] and $L[3] == $F[3]) {
$L[2] = $F[2]
} else {
print join ";", @L if @L;
@L = @F
}
END { print join ";", @L }
' file.csv