07. Terminal: accediendo al interior de un archivo de texto

Publicado por

Si tengo un archivo de texto que quiero leer ¿qué debería de hacer para lograrlo? Simple: abro mi editor de texto favorito y problema resuelto. Ahora, ¿qué sucede si estoy trabajando en la terminal y quiero ver rápidamente el contenido de algún archivo? Salir de la terminal (o minimizarla) y acceder al editor de textos ya no suena tan buena idea, esas pequeñas acciones toman tiempo y si queremos revisar varios archivos seguro que se nos irán varias unidades valiosas de tiempo en el seleccionar algún archivo y cargarlo, seleccionar otro y cargarlo, seleccionar otro y…

En esta nota hablaremos sobre unos útiles comandos que precisamente nos permitirán visualizar el contenido de un archivo sin tener que abrir ningún programa gráfico. No importa que cantidad de información alberguen nuestros archivos, estos comandos nos mostrarán toda o parte de ella. Vamos allá entonces.


Conociendo el tipo de archivo

Antes que cualquier otra cosa, visitemos primero el comando file. Si queremos ver el contenido de algún archivo de texto, es necesario que este sea de este tipo, ¿por qué? Porque de esto dependerá de si lo que veremos en pantalla será texto común y legible o un montón de símbolos extraños. Uno podría pensar que basta con observar que la extensión del archivo sea .txt pero, a decir verdad, un archivo de texto puede llevar cualquier tipo de extensión, por ejemplo, los archivos que se utilizan para guardar los mensajes que genera un programa (conocidos como log files) suelen contar con la extensión .log.

Veamos dos archivos de ejemplo para utilizar este comando, uno será un archivo de texto y otro será un archivo de imagen:

Uso del comando file

Como puedes apreciar, file nos indica correctamente qué tipo de archivo es cada uno. Para el archivo de texto nos despliega ASCII text que básicamente significa que el archivo contiene texto con caracteres «ASCII». file puede recibir cualquier número de parámetros, de esta forma podemos saber (usando una única línea) el tipo de varios archivos.


Concatenando archivos

Recordando la nota no. 4 de esta serie, vimos de forma rápida el comando cat que nos permitía desplegar el contenido de un archivo de texto directamente en pantalla. Si colocamos varios parámetros, cat concatenará los contenidos y nos los mostrará todos de una vez (como si de un solo archivo se tratara). Como curiosidad, veamos qué se nos muestra en pantalla al usar los dos archivos del apartado anterior:

Uso comando cat en texto
Uso del comando cat en texto
Uso del comando cat en imagen
Uso del comando cat en una imagen

Como habíamos comentado, el archivo de texto nos muestra información legible y la imagen solo consta de símbolos extraños.

Pasemos ahora a conocer dos opciones para el comando cat que pueden resultar muy útiles en algunas circunstancias. Tomemos como ejemplo un código fuente, de este queremos que, además del contenido, se nos despliegue también el número de cada línea; podemos lograr esto simplemente añadiendo -n:

Uso de opción n en cat

De esta manera a cada línea del archivo le antecederá un número, el cual, en este caso en particular, nos sería de gran ayuda si estábamos buscando lo que existe en la línea número X.

Si quisiéramos que se nos muestre un número pero solo en aquellas líneas que contengan texto, basta con añadir la opción -b:

Uso de opción b en cat


Menos es más

Como acabamos de ver, cat es una herramienta muy útil pero tiene un pequeño inconveniente, si el archivo que queremos leer tiene mucha información, cat nos mostrará toda esa información de una vez, sin importarle detenerse en algún momento para que vayamos leyendo cada parte.

less es un comando muy útil que permite desplegar el contenido de un archivo pero con la gran ventaja de detenerse cuando el texto ha llenado la pantalla, si esto sucede basta con presionar la letra D para seguir leyendo el archivo, o presionar U si queremos regresar. Para salir del modo lectura queda presionar la tecla Q y volveremos a nuestro prompt.

Veamos cómo funciona este comando utilizando un archivo que contiene los números del 1 al 4000:

Uso de comando less
Oprimiendo «D» vamos avanzando en el archivo y salimos oprimiendo «Q»

Desde la cabeza hasta la cola

Existen otro tipo de situaciones en que no queremos ver todo el archivo sino solo una parte de él; si esta parte se encuentra al inicio o al final del archivo, estamos de suerte.

El comando head nos permitirá conocer las primeras líneas del archivo que le pasemos como parámetro, por defecto las primeras 10 líneas. Por otra parte, el comando tail nos mostrará las últimas líneas del archivo que elijamos, igual las última 10 líneas por defecto. Utilicemos el archivo de números para demostrar cómo funcionan estas instrucciones:

Uso de comando head
head: Nos muestra las primeras 10 líneas
Uso de comando tail
tail: Nos muestra las últimas 10 líneas

Si queremos cambiar el número de líneas que se nos presenten, en lugar de las 10 que mencionamos, basta con colocar -n # donde # será el numero de líneas que queremos desplegar. Una forma más corta de hacerlo es únicamente colocar -# y obtendremos el mismo resultado:

Opciones en comandos head y tail
«head» nos muestra 5 líneas, mientras «tail» nos muestra 7 líneas.

Para terminar

En esta nota aprendimos como visualizar el contenido de un archivo con la ayuda de unos prácticos comandos. Ya sea que quisiéramos ver toda la información, o solo una parte de ella, ahora tenemos las herramientas para lograrlo y todo desde la comodidad de la misma terminal.

Espero estas notas sigan siendo de tu agrado y nos ayudes a compartirlas con más personas que gusten conocer de todas estas facilidades que nuestra computadora nos otorga. Te espero en la siguiente nota, cualquier comentario que tengas no dudes en dejarlo y con gusto te atenderé.

Hasta la próxima.


Sobre algunos elementos de la imagen destacada: Designed by Dooder / Freepik

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *