[ -s file.name ] || echo "file is empty"
Las faltas de ortografía son irritantes, ¿no? Revisa tu ortografía de empty
, pero también prueba esto:
#!/bin/bash -e
if [ -s diff.txt ]; then
# The file is not-empty.
rm -f empty.txt
touch full.txt
else
# The file is empty.
rm -f full.txt
touch empty.txt
fi
Me gustan mucho las secuencias de comandos de shell, pero una de sus desventajas es que el shell no puede ayudarte cuando escribes mal, mientras que un compilador como tu compilador de C++ puede ayudarte.
Observe por cierto que he intercambiado los roles de empty.txt
y full.txt
, como sugiere @Matthias.
[ -s file ] # Checks if file has size greater than 0
[ -s diff.txt ] && echo "file has something" || echo "file is empty"
Si es necesario, esto verifica todos los archivos *.txt en el directorio actual; e informa todo el archivo vacío:
for file in *.txt; do if [ ! -s $file ]; then echo $file; fi; done