레코드의 n번째 발생을 표시합니다.

레코드의 n번째 발생을 표시합니다.

awk를 사용하여 레코드의 n번째 항목을 표시하고 다른 항목을 삭제하려면 어떻게 해야 합니까?

입력 파일:

79933,2
79933,4
79933,5
55251,1
49494,4
49494,2
49494,2
49494,1

이 예에서 원하는 출력이 두 번째 발생인 경우 다음과 같습니다.

79933,4
49494,2

답변1

POSIX적으로:

n=2 awk -F, '++a[$1]==ENVIRON["n"]' <file

첫 번째 필드가 표시될 때마다 증가하여 해당 필드의 발생을 추적하고 이를 배열에 저장합니다 a. 두 번째로 발생하면 조건이 true가 되어 awk인쇄 됩니다 $0.

관련 정보