GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo dejar `ordenar | Uniq -c` ¿Separar el número de ocurrencias por un carácter de tabulación?

uniq -c separa el número de ocurrencia por espacios, lo cual es difícil para cut o awk para separarlo más tarde.

1000_A1\tB1\n
___1_A2\tB2\n

Puedo resolver este problema usando sed -r 's/^ *([0-9]+)/\1\t/' para cambiar el delimitador a tabulador. Luego cut -f1 podría devolver:

1000\tA1\tB1\n
1\tA2\tB2\n

Pero parece un uso común tener uniq -c separar el número por tabulación. ¿Por qué falta esta función? ¿Hay alguna otra manera más fácil de hacerlo?

Respuesta aceptada:

Parece que tienes un formato como <number><space><field 1 name><tab><field 2 name> , y desea verificar que la entrada esté ordenada por field 1 name . Si eso es lo que desea, simplemente elimine la parte del número inicial y verifique la clasificación de la parte restante de la primera columna:

echo "$input" | sed -r 's/^ *[^ ]+ //' | sort -c -k1,1

Linux
  1. Cómo obtener solo el número de líneas de un archivo

  2. ¿Cómo obtener la cantidad de discos físicos en Linux?

  3. Cómo obtener el número de pantalla que me asignó X

  4. Cómo determinar el número de semana del mes.

  5. ¿Cómo contar la cantidad de bytes en un archivo, agrupando los mismos bytes?

Cómo usar el comando Bash let {con ejemplos}

Cómo contar las apariciones de palabras en un archivo de texto

Cómo encontrar el número de puerto de un servicio en Linux

Cómo usar el comando uniq para procesar listas en Linux

Cómo obtener la cantidad de procesadores/núcleos en Linux

¿Cómo borrar el número de línea en Vim al copiar?