답변:
나는 그것을 알아; "발생 횟수에 따른 접두사 행"에 대한 uniq
옵션 중 하나는 -c
다음과 같습니다.
$ uniq -c
sort | uniq
A \ A \ A \ B \ A \ CC
출력 결과 uniq -c
는 show A 3
and later show A 1
입니다. 먼저 정렬하면 모든 동일한 행이 함께 그룹화됩니다.
방금 비슷한 문제가 발생했습니다. 이것으로부터, 나는 조금 더 진보 된 명령을 만들었습니다. 다른 사람들에게 유용하기를 바랍니다.
위의 주석에서 Steven D가 말했듯이 uniq
인접한 반복 줄만 계산하므로 먼저 줄을 정렬해야합니다. 그런 다음 고유 한 줄을 찾은 다음 다시 정렬하여 가장 많이 발생하는 줄을 맨 위에 놓습니다.
sort file.txt | uniq -c | sort -nr > output.txt
출력이 파일로 리디렉션됩니다 output.txt
. 명령 행에서 결과를 sort -n
보고자하는 경우, 가장 일반적인 행이 맨 아래에 있도록 (예 : 화면에 계속 표시되도록) 리디렉션을 제거하고 마지막 명령을 변경하십시오 .
cat file.txt | sort
그냥로 대체 할 수 있습니다 sort file.txt
. :)
cat
더 흥미로운 것을 빨리 바꿀 수 없다는 것입니다. 아시다시피 cat
.
< file.txt sort | uniq -c
. 이것은 편집하기 쉽고 여전히 불필요한 것을 피합니다 cat
.
uniq -c filename.txt | sed 's/[^0-9]*\\([0-9]\+\\) \\(.*\\)/\2 \1/'