파일에 약 백만 개의 줄이 있습니다. 줄 transactionid
에는 반복적 인 값을 가진 이라는 필드 가 있습니다. 내가해야 할 일은 그들을 분명히 세는 것입니다.
값이 몇 번 반복되는지에 관계없이 한 번만 계산해야합니다.
답변
파일이 텍스트 파일이라고 가정하면 필드는 쉼표 구분 기호 ‘,’로 구분됩니다. 'transactionid'
위치에 따라 어떤 필드 가 있는지 알 수도 있습니다 . 'transactionid'
필드가 7 번째 필드 라고 가정 합니다.
awk -F ',' '{print $7}' text_file | sort | uniq -c
이것은 7 번째 필드에서 구별 / 고유 발생을 계산하고 결과를 인쇄합니다.
답변
가장 매끄러운 방법은 아니지만 다음과 같이 작동합니다.
awk '{print $1}' your_file | sort | uniq | wc -l
여기서 $1
구문 분석 할 필드에 해당하는 번호입니다.
답변
파일을 정렬 할 필요가 없습니다.. (파일을 정렬해야합니다. uniq
)
이 awk 스크립트는 필드가 첫 번째 공백 제거 된 필드라고 가정합니다.
awk 'a[$1] == "" { a[$1]="X" } END { print length(a) }' file