Verificar la presencia de un archivo con la salida del comando ls
En este paso, aprenderás otra forma común de comprobar la presencia de archivos y directorios: utilizando la salida del comando ls
. El comando ls
lista el contenido de un directorio. Al combinar ls
con otros comandos, puedes comprobar de manera efectiva si un archivo específico existe.
Primero, listemos el contenido de tu directorio actual (~/project
) utilizando el comando ls
.
Escribe el siguiente comando y presiona Enter:
ls
Deberías ver my_file.txt
en la salida, ya que lo creaste en el paso anterior.
my_file.txt
Ahora, intentemos comprobar específicamente la presencia de my_file.txt
utilizando ls
y el comando grep
. grep
es una herramienta poderosa para buscar patrones de texto. Podemos enviar la salida de ls
a grep
a través de un pipe para ver si el nombre del archivo aparece en la lista.
El símbolo de pipe |
toma la salida del comando de la izquierda y la envía como entrada al comando de la derecha.
Escribe el siguiente comando y presiona Enter:
ls | grep my_file.txt
Si my_file.txt
existe, grep
lo encontrará en la salida de ls
y mostrará la línea que contiene el nombre del archivo.
my_file.txt
Si el archivo no existiera, grep
no encontraría el patrón y no produciría salida.
Similar al comando test
, puedes comprobar el código de salida del comando grep
para determinar si se encontró el archivo. grep
devuelve 0
si encuentra una coincidencia y 1
si no la encuentra.
Escribe el siguiente comando y presiona Enter:
echo $?
Deberías ver 0
, lo que indica que grep
encontró my_file.txt
.
Ahora, intentemos comprobar de nuevo la presencia del archivo que no existe utilizando ls
y grep
.
Escribe el siguiente comando y presiona Enter:
ls | grep non_existent_file.txt
Este comando no producirá salida porque non_existent_file.txt
no está en la lista del directorio.
Comprueba el código de salida:
echo $?
Deberías ver 1
, lo que indica que grep
no encontró non_existent_file.txt
.
Utilizar ls
y grep
es un patrón muy común en scripting de shell para comprobar la existencia de archivos y directorios, especialmente cuando necesitas procesar la salida adicionalmente.
Haz clic en Continuar para continuar.