맞춤 패턴을 사용하여 정렬하시겠습니까?

맞춤 패턴을 사용하여 정렬하시겠습니까?

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가 두 번째 키에 포함되며 이는 정렬에 영향을 미칠 가능성이 거의 없습니다.awksort

관련 정보