az 대신 발생 횟수를 기준으로 정렬할 수 있나요?
필수작업 예시,
입력 =
Example
Example
Hello
Hello
Input
Input
List
List
World
World
...
예상 출력 =
Example
Hello
Input
List
World
Example
Hello
Input
List
World
...
따라서 이 경우 각 줄의 첫 번째 발생을 가져와서 순서대로 배치한 다음 각 줄의 두 번째 발생을 가져와 더 이상 발생하지 않을 때까지 순서대로 배치합니다.
답변1
언제든지 장식-정렬-비장식 방법을 사용할 수 있습니다:
<input awk -v OFS=: '{print ++n[$0], $0}' |
sort -t: -k1,1n -k2 |
cut -d: -f2-
awk
각 행 앞에 행의 발생 횟수를 숫자로 추가하여 sort
첫 번째 키(숫자 순서)로 정렬 k
하고 원래 행을 두 번째 키(기본 로케일 정렬 순서)로 정렬합니다 .
여기서는 공백이 아닌 공백에서 공백으로의 기본 변환(기본 경우처럼) 대신 기본 SPC를 :
구분 기호로 사용하면 SPC가 두 번째 키에 포함되며 이는 정렬에 영향을 미칠 가능성이 거의 없습니다.awk
sort