6.0 Editar, ordenar, cortar y grep
Autora: Dra. Alejandra Rougon

Este trabajo está bajo la licencia Creative Commons Atribución-NonComercial 4.0 Licencia Internacional.
🔍 Objetivos de aprendizaje
Después de completar esta lección aprenderás cómo:
- Editar archivos en la línea de comandos
- Ordenar el contenido de archivos en orden alfabético y numérico
- Cortar columnas de archivos
- Buscar cadenas específicas dentro de archivos
Ya has aprendido cómo crear un archivo con cat > New_file, sin embargo, catno es un editor de texto. Existen varios editores de texto para la línea de comandos. Los más comunes son vi, vim y nano. En tu terminal virtual tienes un editor de texto con una interfaz gráfica. Sin embargo, cuando trabajes de manera remota en un cluster bioinformático para Cómputo de Alto Desempeño [HPC] es muy probable que no puedas usar ningún software con interfaz gráfica. Así es que es muy importante que aprendas a usar editores de texto en la línea de comandos.
vim & vi
Los editores de texto vim y vi son muy similares. Aprenderemos los comandos más importantes para vim y también funcionarán para vi. Sin embargo si quieres aprender más opciones puedes ver la documentación de vim.
- Crear un nuevo archivo
vim Name_Of_File - Editar el archivo con
ide insertar - Guarda los cambios y sal del archivo
Esc:wq! - Sal del archivo sin guardar cambios
Esc:q!
Ahora vamos a crear un directorio dentro del directorio Documents llamado Practice. Ahora ve dentro de Practice y crea un archivo llamado numbers.txt
Now let's create a folder inside the folder Documents named Practice. Then go inside Practice and create a file called numbers.txt

Después tienes que teclear i para poder insertar texto. Ahora escribe el siguiente texto:
Esc seguida de :wq! y Enter.

Puedes verificar el contenido con less, more or cat. Nota: *No agregues > cuando abras un archivo para leerlo, ya que si lo haces eliminarás el contenido previo y se escribirá sobre él.
nano
La ventaja de usar nano es que no tienes que aprenderte el menú, ya que se muestra en la pantalla. La tecla Ctrl es especificada por un ^. El problema de nano es que algunas veces no está instalado en los servidores. Así es que tendrías que instalarlo.
- Crear un archivo
nano Name_Of_File - Guardar los cambios
Ctrl+oEnter - Salir
Ctrlx
Vamos a crear un archivo llamado toygenes.txt en el mismo directorio Practice.

En esta ocasión vamos a escribir un archivo tabular. Eso significa que será un archivo con columnas y que van a estar separadas por una tabulación utilizando la tecla tab en lugar de la barra espaciadora. Escribe el siguiente texto (utilizando un tab después de cada nombre.
Ctrl o
Después verás esta pantalla

Sólo presiona Enter y luego salte con Ctrl x
Recuerda verificar que tu archivo está correcto.
sort
El comando sort es usado para ordenar un archivo. En otras palabras, acomodar las líneas en una list en un orden en particular. Por defecto, se ordenan en orden alfabético.
Inténtalo con el archivo toygenes.txt
sort también ordenará los números en orden alfabético. Para ordenar los números en orden numérico necesitamos la opción -n.
Si tienes una mezcla de letras y números, puedes usar la opción -V para ordenar numéricamente, como en las versiones de software. Como en el siguiente ejemplo.

Ahora crea el archivo llamado amounts.txt con el siguiente contenido:
El comando sort tiene varias funciones útiles. Si quieres ordenar en orden reverso usa -r
-k. Por ejemplo, vamos a ordenar toygenes.txt basándonos en la segunda columna.
Puedes también ordenar un archivo y eliminar duplicados para obtener únicamente los registros únicos con -u. Por ejemplo, inténtalo con el siguiente archivo.
Recuerda que siempre puedes guardar los resultados dirigiendo la salida con > a un nuevo archivo.
También puedes ordenar meses con sort -M
cut
El comando cut corta columnas específicas, por defecto separadas por una tabulación tab. Puedes especificar la columna con -f de field. Selecciona la segunda columna por el archivo toygenes.txt.
-d. Por ejemplo, para una lista que tiene columnas separadas por espacios

También puedes seleccionar columnas especificando la posición de los bytes con -b. Para ver más opciones, recuerda que siempre puedes ver el manual man cut.
grep
Uno de los comandos más útiles es grep, el cual te permitirá hacer búsquedas de cadenas. Imprimirá sólo las líneas que contienen la cadena que hayas indicado. Por ejemplo, vamos a buscar la cadena tomato en el archivo toygenes.txt
-v. Te mostrará las líneas que no contengan la cadena.
También puedes contar el número de ocurrencias con -c. ¿Cuántas líneas contienen la letra a en toygenes.txt?
🔑 En esta lección has aprendido a:
- Editar archivos en la línea de comandos con
vim,vi&nano - Ordenar el contenido de un archivo en orden alfabético o numérico con
sort - Cortar columnas con
cut - Buscar cadenas específicas dentro de archivos con
grep
