記録値を互いに比較

記録値を互いに比較

次のファイルを検討してください。

foo,boo,900
foo,boo,900
foo,boo,850

フィールド($3)を次のレコードと比較し、差が50以上の場合は、そのレコードを印刷する必要があります。

つまり、上記の例では、$32番目のレコードから$33番目のレコード= 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

おすすめ記事