GNU/Linux >> Tutoriales Linux >  >> Linux

¿Ordenar parte de un archivo?

¿Cómo puedo ordenar el archivo por la segunda columna de la terminal? El contenido del archivo es:

Nome     Note
------------
Mehdi    0
Sunday   20
Others   10
Shnou    5

Usando sort -t' ' -nk2 no me esta dando el resultado correcto. Además, ¿cómo puedo asegurarme de que el contenido del archivo permanezca ordenado?

Respuesta aceptada:

Creo que lo que buscas es algo como esto:

Método n.° 1:usando cabeza y cola

$ (head -n 2 sample.txt; tail -n +3 sample.txt | sort -t' ' -nk2) > a.tmp && mv a.tmp sample.txt

Nome     Note
------------
Mehdi    0
Shnou    5
Others   10
Sunday   20

Esto toma la primera línea del archivo de texto, luego sigue todo después de las primeras 2 líneas que luego se ordenan.

Método #2:solo usando la cabeza

$ (head -n 2; sort -t' ' -nk2) < sample.txt > a.tmp && mv a.tmp sample.txt

Nome     Note
------------
Mehdi    0
Shnou    5
Others   10
Sunday   20

Toma el archivo de texto como entrada, muestra solo la primera línea, ordena el resto.

Por lo general, no es una buena idea editar archivos en su lugar. Es posible, pero es mejor usar un archivo intermedio.

Método #3:Hacer #2 sin un archivo intermedio

Robando la idea de @StephaneChazelas, podría hacer lo siguiente usando la notación "1<>" para abrir un archivo para lectura y escritura, y las mejoras que sugirió con sort comando.

$ (head -n 2; sort -nk2) < sample.txt 1<> sample.txt

Nome     Note
------------
Mehdi    0
Shnou    5
Others   10
Sunday   20

Linux
  1. Ordenar comando en Linux con ejemplos

  2. ¿Orden de redirecciones?

  3. ordenar ejemplos de comandos en Linux

  4. ordenar:comando no encontrado

  5. Ordenar con separador de campo

Shell Scripting Parte 3:Estructuras de control de decisiones en Shell Scripts

Complementos útiles del editor Vim para desarrolladores de software - parte 3:a.vim

Todo es un archivo en Linux - Parte 2

Todo es archivo en Linux – Parte 1

Editor VIM

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 5