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.