Invertir el orden de las líneas de un archivo en Linux

Si necesitamos procesar el contenido de un archivo, tomando sus líneas desde la última a la primera (por ejemplo en un archivo de log) podemos programar un script que las lea todas y luego aplique la acción en el orden requerido. Pero si pudiéramos hacerlo desde la consola sería mejor. Y se puede.

Simplemente utilizamos el comando tac (el inverso de cat) el cual concatena cada archivo que se pasa como argumento pero en el orden inverso, línea por línea desde el final del archivo.

Ejemplo:

tac original.log > invertido.log

crea el archivo invertido.log con las líneas en el orden opuesto al que poseen en original.log

 

Tip: No confudamos con tail, el cual imprime las últimas líneas de un archivo pero en el orden original.

Tagged with:
Publicado en Linux