[ -s file.name ] || echo "file is empty"
Les fautes d'orthographe sont irritantes, n'est-ce pas ? Vérifiez l'orthographe de empty
, mais essayez aussi ceci :
#!/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
J'aime beaucoup les scripts shell, mais un inconvénient est que le shell ne peut pas vous aider lorsque vous faites une faute d'orthographe, alors qu'un compilateur comme votre compilateur C++ peut vous aider.
Remarquez au passage que j'ai interverti les rôles de empty.txt
et full.txt
, comme le suggère @Matthias.
[ -s file ] # Checks if file has size greater than 0
[ -s diff.txt ] && echo "file has something" || echo "file is empty"
Si nécessaire, cela vérifie tous les fichiers *.txt du répertoire courant ; et signale tous les fichiers vides :
for file in *.txt; do if [ ! -s $file ]; then echo $file; fi; done