1. ホーム
  2. linux

[解決済み】Bashでファイルが空かどうかを確認する方法は?

2022-04-02 16:50:49

質問

というファイルを持っています。 diff.txt . 空っぽかどうか確認したい。

以下のようなbashスクリプトを書いたのですが、うまくいきませんでした。

if [ -s diff.txt ]
then
        touch empty.txt
        rm full.txt
else
        touch full.txt
        rm emtpy.txt
fi

どのように解決するのですか?

誤字脱字はイラッとしますよね。 のスペルを確認してください。 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

私はシェルスクリプトがとても好きなのですが、その欠点として、スペルを間違えたときにシェルは助けてくれないのに対して、C++コンパイラのようなコンパイラは助けてくれるのです。

の役割を入れ替えたことに注意してください。 empty.txtfull.txt のように、@Matthiasが提案する。