バイナリ ファイルがあり、ファイル内のビットのブロブを (何らかのパターンで) 比較し、それらを同じサイズの新しいビットのブロブに置き換える必要があります。
それを行うための最良の方法は何だろうか?
#$1 and $2 are two different binary files.
function compareByteByByte()
{
counter=0
while [ $counter -le $(( $PNG_FILE_SIZE-1 )) ]
do
S1=$($READFILE_EXE -t x1 --read-bytes=1 --skip-bytes=0 $1 | head -1 | awk '{print $2}')
S2=$($READFILE_EXE -t x1 --read-bytes=1 --skip-bytes=$counter $2 | head -1 | awk '{print $2}')
if [ $S1==$S2 ]; then
counter=$(( $counter + 1 ))
echo "Offset#$counter: $S2"
else
echo "S1('$S1') is equal to S2('$S2')"
break
fi
done
}
S1 と S2 が等しい場合、ループを中断したいと思いますが、明らかに中断されません。ここで何か不足していますか? 私はスクリプトの世界の初心者なので、ご容赦ください