기록값을 서로 비교

기록값을 서로 비교

다음 파일을 고려하십시오.

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

필드( $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

관련 정보