Comprobar el tamaño del archivo con test -s
En este paso, aprenderás cómo comprobar si un archivo existe y no está vacío utilizando el comando test
con la opción -s
. El comando test
es un comando interno de la shell utilizado para evaluar expresiones condicionales. A menudo se utiliza en scripts de shell para tomar decisiones.
La opción -s
con test
comprueba si un archivo existe y tiene un tamaño mayor que cero (es decir, no está vacío).
Primero, creemos un archivo vacío y un archivo no vacío en tu directorio ~/project
.
Abre tu terminal si no está abierta. Por defecto, deberías estar en el directorio ~/project
.
Crea un archivo vacío llamado empty_file.txt
:
touch empty_file.txt
Ahora, crea un archivo llamado non_empty_file.txt
y agrega algún texto a él utilizando el comando echo
y el operador de redirección >
. El operador >
redirige la salida de un comando a un archivo. Si el archivo no existe, se crea. Si existe, su contenido se sobrescribe.
echo "This file has content." > non_empty_file.txt
Ahora, usemos el comando test -s
para comprobar estos archivos. El comando test
no produce salida en caso de éxito. Indica éxito o fracaso mediante su estado de salida. Un estado de salida de 0
significa éxito (la condición es verdadera), y un estado de salida distinto de cero significa fracaso (la condición es falsa).
Podemos comprobar el estado de salida del comando anterior utilizando la variable especial $?
.
Comprueba el archivo vacío:
test -s empty_file.txt
echo $?
Deberías ver la salida 1
, lo que indica que la condición (el archivo existe y no está vacío) es falsa para empty_file.txt
.
Ahora, comprueba el archivo no vacío:
test -s non_empty_file.txt
echo $?
Deberías ver la salida 0
, lo que indica que la condición es verdadera para non_empty_file.txt
.
Esta es una forma fundamental de comprobar las propiedades de un archivo en la programación de scripts de shell. Puedes utilizar esto para asegurarte de que un archivo tenga contenido antes de intentar procesarlo.
Haz clic en Continuar para continuar.