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
答え2
ファイル名を削除するもう1つの方法wc
はを使用することですwc -c <file1
。これにより、2番目のステップは必要ありませんcat
。
答え3
1つの方法は次のとおりです。
a=$(cat file1 | wc -c)
ファイル名は出力されず、expr
操作できます。