5.3 Trabajando con archivos¶
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 a:
Redirigir la salida
>
&>>
Crear, escribir, ver y concatenar archivos con
cat
Ver el contenido de archivos con
more
,less
,head
, ytail
Para esta lección ve a tu terminal virtual en CS50 sandbox https://sandbox.cs50.io/.
Algunos comandos dan una salida (output) que se imprime en la línea de comandos. Nosotros podemos redirigir la salida hacia un archivo con el símbolo >
. La sintaxis es comando > nombre_del _archivo
. Si el archivo no existe, será creado. Pero si el archivo ya existe se sobrescribirá, así es que tienes que tener cuidado y asegurarte de que no sobrescribas un archivo por error.
Ahora vamos a tratar con el comando ls
que enlista el contenido del directorio.
Primero ve a tu directorio home
con cd
. Después si tecleas ls
se imprimirá el contenido de tu directorio actual de trabajo.
$ ls
Documents/ Readme
La salida se imprime en la pantalla. Ahora, redirige la salida al archivo contents.txt
. Recuerda la sintaxis ls > nombre_del_archivo
.
$ ls > contents.txt
Esta vez no hay salida que se imprima a la pantalla. Podemos verificar que en verdad se fue al archivo viendo el contenido del archivo contents.txt
. Da clic en contents.txt
en la sección Filetree y el archivo se abrirá en la sección del editor. Podemos ver dos líneas de salida que fueron guardadas. También una tercera línea con el nombre del archivo.
Si queremos redirigir la salida a un archivo que ya existe SIN sobrescribir el contenido previo, utilizamos >>
y luego el nombre del archivo. Puedes ver cómo las nuevas líneas fueron agregadas al final del archivo.
cat
¶
El comando cat
command tiene diferentes funciones
Crear un archivo
Escribir un archivo
Ver el contenido de un archivo
Agregar texto a un archivo existente
Concatenar archivos
Vamos a crear un archivo llamado fruit1
así es que tienes que teclear
cat > fruit1
Ahora vas a poder escribir el contenido. Después de escribirlo, puedes guardad los cambios y salir presionando las teclas Ctrl
y d
.
pear
mango
Teclea Ctrl
+ d
para guardar los cambios y salir
Para ver el contenido del nuevo archivo sólo teclea cat fruit1
y verás el contenido en la pantalla.
$ cat fruit1
pear
mango
Ahora agrega la palabra orange
en otra línea a fruit1
$cat >> fruit1
orange
# Ctrl + d para guardar y cerrar
Visualiza el contenido de fruit1
$ cat fruit1
pear
mango
orange
Ahora crea otro archivo fruit2
$ cat > fruit2
banana
melon
#Ctrl + d
Para concatenar archivos [unir el contenido de uno después del contenido de otro en un mismo archivo] tienes que ponerlos en el orden en el que quieres que se unan. La salida se irá a la pantalla, pero también puedes redirigirla a un nuevo archivo.
$ cat fruit1 fruit2
pear
mango
orange
banana
melon
$ cat fruit1 fruit2 > fruitall
more
¶
La función del comando more
es visualizar el contenido de los archivos.
Así es que para ver el contenido del archivo fruitall
con more
$ more fruitall
pear
mango
orange
banana
melon
Como puedes ver, la salida se va a la pantalla de la línea de comandos.
less
¶
Otro comando para ver el contenido de los archivos es less
. Este es particularmente importante en bioinformática, ya que con él se pueden visualizar archivos enormes sin colapsar la computadora. Si tratas de abrir un archivo de 50 Gb en un editor de texto normal, seguramente se congelará tu pantalla debido a la falta de memoria. Vamos a ver el archivo fruitall
.
$ less fruitall
Este comando te mostrará el contenido en una pantalla diferente. Si tu archivo no cabe en una sola pantalla puedes desplazarte a lo largo del archivo con las flechas o con la barra espaciadora. Para regresar a la pantalla de la línea de comandos teclea q
.
head
& tail
¶
Estos dos comandos también muestran el contenido de los archivos en la pantalla. Sin embargo, head
te muestra las primeras lineas. Por defecto, las primeras 10, a menos que tú especifiques otro número. Por el contrario, tail
te muestra las últimas líneas. Para especificar un número diferente de líneas puedes usar la opción -n
.
$ head -n 2 fruitall
pear
mango
$ tail -n 2 fruitall
banana
melon
$
🔑 En esta lección has aprendido a
Redirigir la salida
>
&>>
Crear, escribir, ver y concatenar archivos con
cat
Ver el contenido de los archivos con
more
,less
,head
ytail