Shell 脚本中的连接 Bash

Shell 脚本中的连接 Bash

我想检查两行是否有相等的 $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

相关内容