GNU/Linux >> Linux の 問題 >  >> Linux

Bashでファイルが空かどうかを確認するには?

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

スペルミスはイライラしますね。 empty のスペルを確認してください 、しかし、これも試してください:

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

私はシェル スクリプトが大好きですが、シェル スクリプトの欠点の 1 つは、スペルを間違えたときにシェルが役に立たないことです。一方、C++ コンパイラのようなコンパイラが役に立ちます。

ちなみに、empty.txt の役割を入れ替えたことに注意してください。 そして full.txt 、@Matthias が示唆するように。


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

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

必要に応じて、現在のディレクトリ内のすべての *.txt ファイルがチェックされます。すべての空のファイルを報告します:

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

Linux
  1. sudoers構文を確認する方法

  2. Cpの実行の進行状況を確認する方法は?

  3. シェルスクリプトBashでサブストリングをチェックする方法は?

  1. 文字列にBashの部分文字列が含まれているかどうかを確認する方法

  2. BashでCSVファイルを解析するには?

  3. ssh-agent が既に bash で実行されているかどうかを確認するには?

  1. Bashにシェルショックの脆弱性があるかどうかを確認する方法は?

  2. Bashスクリプト:ファイルがテキストファイルかどうかを確認しますか?

  3. Linuxでログファイルを空にする方法