GNU/Linux >> Linux Esercitazione >  >> Linux

Come verificare se un file è vuoto in Bash?

[ -s file.name ] || echo "file is empty"

Gli errori di ortografia sono irritanti, vero? Controlla l'ortografia di empty , ma prova anche questo:

#!/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

Mi piace molto lo scripting della shell, ma uno svantaggio è che la shell non può aiutarti quando sbagli l'ortografia, mentre un compilatore come il tuo compilatore C++ può aiutarti.

Nota incidentalmente che ho scambiato i ruoli di empty.txt e full.txt , come suggerisce @Matthias.


[ -s file ] # Checks if file has size greater than 0

[ -s diff.txt ] && echo "file has something" || echo "file is empty"

Se necessario, controlla tutti i file *.txt nella directory corrente; e riporta tutti i file vuoti:

for file in *.txt; do if [ ! -s $file ]; then echo $file; fi; done

Linux
  1. Come verificare se Bash ha una vulnerabilità Shellshock?

  2. Come controllare la sintassi di sudoers

  3. Script Bash:controlla se un file è un file di testo?

  4. Come controllare la sottostringa in Shell Script Bash?

  5. Come verificare se la stringa contiene una sottostringa in Bash

Come verificare se un file o una directory esiste in Bash

Come leggere un file riga per riga in Bash

Come verificare se una stringa contiene una sottostringa in Bash

Come troncare (svuotare) i file in Linux

Come reindirizzare stderr a stdout in Bash

Come verificare se esiste un file o una directory in Bash Shell