GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara memeriksa apakah suatu file kosong di Bash?

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

Salah eja menjengkelkan, bukan? Periksa ejaan empty Anda , tetapi coba juga ini:

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

Saya sangat menyukai skrip shell, tetapi salah satu kelemahannya adalah shell tidak dapat membantu Anda saat Anda salah mengeja, sedangkan kompiler seperti kompiler C++ dapat membantu Anda.

Perhatikan secara kebetulan bahwa saya telah menukar peran empty.txt dan full.txt , seperti yang disarankan @Matthias.


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

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

Jika perlu, ini memeriksa semua file *.txt di direktori saat ini; dan melaporkan semua file kosong:

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

Linux
  1. Bagaimana cara memeriksa sintaks sudoers

  2. Bash Script:Periksa Apakah File Adalah File Teks?

  3. Bagaimana Cara Memeriksa Substring Di Shell Script Bash?

  1. Cara Mengosongkan File Log di Linux

  2. Bagaimana cara mengurai file CSV di Bash?

  3. Bagaimana cara memeriksa apakah ssh-agent sudah berjalan di bash?

  1. Bagaimana cara memeriksa apakah Bash memiliki Kerentanan Shellshock?

  2. Bagaimana Cara Memeriksa Kemajuan Running Cp?

  3. Cara Memeriksa apakah String Berisi Substring di Bash