🖥

#shell で「ファイルの中身が存在する」「空ファイル or ファイルが存在しない」の違いを判定する ( -s filepath )

2019/05/25に公開
  • if [ -s <filepath> ] でファイルが存在し、なおかつ中身がある場合に True 判定が返理想
  • ファイルの中身が空 or ファイルが存在しない場合に False 判定が返りそう

example

$ echo "a" > /tmp/a
$ touch /tmp/b
$ if [ -s /tmp/a ]; then echo not empty; else echo empty; fi
not empty
$ if [ -s /tmp/b ]; then echo not empty; else echo empty; fi
empty
$ if [ -s /tmp/c ]; then echo not empty; else echo empty; fi
empty

ref

You can use the find command and other options as follows. The -s option to the test builtin check to see if FILE exists and has a size greater than zero. It returns true and false values to indicate that file is empty or has some data. This page shows how to check if a file is empty in Bash shell running on a Linux or Unix-like operating systems.

Linux / UNIX: Check If File Is Empty Or Not Using Shell Script - nixCraft

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/1995

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-05-25

Discussion