![파일 부분에서 가장 일반적인 문자열 찾기](https://linux55.com/image/79682/%ED%8C%8C%EC%9D%BC%20%EB%B6%80%EB%B6%84%EC%97%90%EC%84%9C%20%EA%B0%80%EC%9E%A5%20%EC%9D%BC%EB%B0%98%EC%A0%81%EC%9D%B8%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EC%B0%BE%EA%B8%B0.png)
다음과 같은 파일이 있습니다.
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