¿Clasificar con patrón personalizado?

¿Clasificar con patrón personalizado?

En lugar de ordenar según az, ¿es posible ordenar según la ocurrencia?

Ejemplo de tarea deseada,

Entrada =

Example
Example
Hello
Hello
Input
Input
List
List
World
World
...

Salida deseada =

Example
Hello
Input
List
World
Example
Hello
Input
List
World
...

Entonces, en este escenario, obtiene la primera aparición de cada línea y las ordena, luego la segunda aparición de cada línea y las pone en orden hasta que no haya más apariciones.

Respuesta1

Siempre puedes utilizar el método decorar, ordenar y no decorar:

<input awk -v OFS=: '{print ++n[$0], $0}' |
  sort -t: -k1,1n -k2 |
  cut -d: -f2-

Where awkantepone cada línea con la aparición de la línea como un número para sortordenar como su primera kclave (orden numérico) y la línea original como la segunda clave (orden de clasificación regional predeterminado).

Aquí, utilizando :como separador en lugar del awkSPC predeterminado de 's y sortla transición predeterminada de 'de un espacio que no está en blanco a un espacio en blanco como con ese valor predeterminado, el SPC se incluiría en la segunda clave, lo que podría (poco probable) tener un impacto en la clasificación.

información relacionada