シェルでwc -lが偶数か奇数かをテストする方法は?

シェルでwc -lが偶数か奇数かをテストする方法は?

file1というファイルがあるとしましょう。

$ a=$(wc -c file1)
$ echo $a
233 file1

今どうすればいいですか?

$ b=$(expr $a % 2)
$ echo $b
1

wc -c makeのfile1がクラッシュを引き起こすと思いますか?

ベストアンサー1

私は次のようなものを使用します:

if [ $(( $(wc -c < your-filehere ) % 2)) -eq 1 ]
then 
  echo file has odd number of bytes
else 
  echo file has even number of bytes
fi

おすすめ記事