GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo verificar si un archivo está vacío en Bash?

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

Linux
  1. ¿Cómo verificar si Bash tiene una vulnerabilidad de Shellshock?

  2. Cómo verificar la sintaxis de sudoers

  3. Bash Script:¿Comprobar si un archivo es un archivo de texto?

  4. Cómo vaciar un archivo de registro en Linux

  5. ¿Cómo verificar si ssh-agent ya se está ejecutando en bash?

Cómo verificar si existe un archivo o directorio en Bash

Cómo leer un archivo línea por línea en Bash

Cómo verificar si una cadena contiene una subcadena en Bash

Cómo truncar archivos (vacíos) en Linux

Cómo redirigir stderr a stdout en Bash

Cómo verificar si existe un archivo o directorio en Bash Shell