GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier si un fichier est vide dans Bash ?

[ -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

Linux
  1. Comment vérifier la syntaxe sudoers

  2. Script Bash :vérifier si un fichier est un fichier texte ?

  3. Comment vérifier la sous-chaîne dans Shell Script Bash?

  4. Comment vider un fichier journal sous Linux

  5. Comment vérifier syslog dans Bash sous Linux ?

Comment vérifier si un fichier ou un répertoire existe dans Bash

Comment lire un fichier ligne par ligne dans Bash

Comment vérifier si une chaîne contient une sous-chaîne dans Bash

Comment tronquer des fichiers (vides) sous Linux

Comment rediriger stderr vers stdout dans Bash

Comment vérifier si un fichier ou un répertoire existe dans Bash Shell