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