これは、一時ファイルを作成するよりもはるかに優れているようだ:邪悪な、しかし
ビット
SIZE=`stat -c %s filea`
cmp -s -n $SIZE filea fileb # -s for silence
それらのファイルの最初のバイトが実際に等しいかどうかを確認するために終了状態を確認してください。
更新:xk0derの要求ごととして、ここでは長い例です。また
wormhole:tmp admp$ echo -n "fooa" > one # -n to supress newline
wormhole:tmp admp$ echo -n "foobc" > two
wormhole:tmp admp$ SIZE=`stat -c %s one`
wormhole:tmp admp$ echo $SIZE
4
wormhole:tmp admp$ (cmp -s -n $SIZE one two && echo "equal") || echo "not equal"
not equal
wormhole:tmp admp$ echo -n "fooac" > two # first 4 bytes are equal now
wormhole:tmp admp$ (cmp -s -n $SIZE one two && echo "equal") || echo "not equal"
equal
、MacOS Xの中であなたが使用する必要があります:
あなたが「を使用することができます
SIZE=`stat -f %z filename`
+1:いいです!おそらく、存在状態 'echo $?'のテスト方法に関する行を追加することができます。か何か :) – xk0der