GNU/Linux >> Znalost Linux >  >> Linux

Jak zkontrolovat, zda je soubor prázdný v Bash?

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

Překlepy jsou nepříjemné, že? Zkontrolujte pravopis empty , ale zkuste také toto:

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

Skriptování v shellu se mi moc líbí, ale jeho nevýhodou je, že vám shell nemůže pomoci, když překlepete, zatímco kompilátor, jako je váš kompilátor C++, vám může pomoci.

Mimochodem, všimněte si, že jsem vyměnil role empty.txt a full.txt , jak navrhuje @Matthias.


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

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

V případě potřeby to zkontroluje všechny soubory *.txt v aktuálním adresáři; a hlásí celý prázdný soubor:

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

Linux
  1. Jak zkontrolovat, zda řetězec obsahuje podřetězec v Bash

  2. Jak analyzovat soubor CSV v Bash?

  3. Jak zkontrolovat syslog v Bash na Linuxu?

  1. Jak zkontrolovat syntaxi sudoers

  2. Bash Script:Zkontrolujte, zda je soubor textovým souborem?

  3. Jak převést ISO8859-15 na UTF8?

  1. Jak zkontrolovat průběh běhu Cp?

  2. Jak zkontrolovat podřetězec v Shell Script Bash?

  3. Jak vyprázdnit soubor protokolu v Linuxu