LoginSignup
3
4

More than 5 years have passed since last update.

bashでファイル数をカウントする

Posted at

長らく悩んでいたのが解決したのでエントリー

シェルスクリプトを書いていてたまにすごく残念な気持ちになるのが、ファイル数のカウント。
いつもこんなカウントをしていた。

NUMBER_OF_FILE=$(ls "$TARGET_PATH" | wc -l)

だが、単にファイル数をカウントするためだけにlswcをexecするというのは、非常に抵抗がある。
bashだけでなんとかできないかとmanpageを見ながら考えてみたが、これでよさそうだ。

TEMP=("$TARGET_PATH"/*)
test ${TEMP[0]} = "$TARGET_PATH/*" && unset TEMP[0]
NUMBER_OF_FILE=${#TEMP[@]}

ファイルが一つも存在しない場合が無いのなら、2行目は無くすことができる。
もうちょっと短く書けると良かったんだけど。

3
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4