다음과 같은 파일이 있습니다.
o99 케사드<탭>에이 비 씨 디이 $%!H$!(<탭>00 !sdaf로<탭>12 살바 &!§!&%
(어디<tab>
실제 TAB 문자를 나타냅니다).
명확히 하자면, 여기에는 두 개의 "열"이 포함되어 있고, 두 번째 열은 완전히 비어 있을 수 있으며, 첫 번째 열에는 공백과 다양한 기호가 포함될 수 있습니다. 예를 들어, 위 입력 예시의 마지막 두 행은 두 번째 열에 아무것도 포함하지 않습니다. 열은 탭으로 구분됩니다.
첫 번째 열에서 가장 일반적인 문자열을 찾는 방법을 찾고 있습니다. 출력은 (바람직하게는) 이 빈도로 정렬된 파일이거나 가장 일반적인 숫자 문자열을 순서대로 나열하는 별도의 출력 파일일 수 있습니다.
저는 리눅스를 사용하고 있습니다.
답변1
cut -f1 file | sort | uniq -c | sort -rn
cut
TAB을 기본 필드 구분 기호로 사용하고-f1
첫 번째 필드를 선택하세요.uniq -c
(연속) 반복 횟수를 카운트하고,sort -rn
숫자 역순.
\감사합니다{제프 샬러}
답변2
강제 awk 솔루션
awk -F"\t" '{column[$1]++}END{for (var in column) print column[var]"\t"var}' INPUTFILE.txt | sort -nr -k1