考虑以下文件:
foo,boo,900
foo,boo,900
foo,boo,850
我需要将a字段($3
)与下一条记录进行比较,如果差异等于或大于50,则打印该记录。
即从上面的示例中,$3
从第二条记录 -$3
从第三条记录 = 50,那么输出将是:
foo,boo,850
答案1
你可以试试这个awk
awk -F"," 'NR != 1 { if ((x - $3) >= 50) print $0; } { x = $3 }' file
如果您不想在提交$1
更改时打印行,则可以使用此方法:
awk -F"," 'NR != 1 { if ($1 == fc && (x - $3) >= 50) print $0; } { x = $3; fc = $1; }' file