맞춤 패턴으로 정렬하시겠습니까?

맞춤 패턴으로 정렬하시겠습니까?

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-

Where는 첫 번째 ey(숫자 순서)로 정렬하기 awk위한 숫자로 행의 발생을 각 행 앞에 추가 하고 두 번째 키(기본 로케일 조합 순서)로 원래 행을 추가합니다.sortk

여기서는 의 기본 SPC :대신 구분 기호로 사용하고 해당 기본값과 마찬가지로 의 기본이 공백이 아닌 값에서 공백으로 전환되는 경우 SPC가 두 번째 키에 포함되어 정렬에 영향을 줄 가능성이 거의 없습니다.awksort

관련 정보