我尝试使用下面的方式将23.45 MB的变量值转换为字节,但比较失败。我通过追加0和删除MB和空间来转换值。将文件大小从MB转换为字节并使用bash进行比较
操作系统:Linux 语言:猛砸
档案大小= 23.45 MB(以MB文件大小)
existingFileSize = 23457676(以字节为单位的文件大小)
content=$(curl -L ${url})
fileSize=`echo "${content}" | grep -o -P '(?<=fileSize">).*(?='${myFile}')' | head -c8`
fileSize=`echo ${fileSize}0000 | sed -e 's/./''/g' | sed -e 's/MB /''/g'`
if [ "${fileSize}" != "${existingFileSize}" ]; then
echo -e "\tFile size is different than local file size\n"
else
echo -e "\tFile size is same as local file size\n"
fi
echo ${fileSize}
echo ${existingFileSize}
所以将文件大小MB转换为字节然后与现有文件大小进行比较的最佳方法是什么?我做了谷歌搜索,但它有大部分从字节到MB的答案。有人可以帮助使用bash吗?
你最初在哪里设置'fileSize'? –
从URL获取它,让我来提一下。谢谢乔尼! –
然后你的问题将四舍五入的问题,你不能完全比较它们,因为MB版本是一个四舍五入的值。如果你想你可以在本地获得四舍五入的值,并希望它们匹配 – Rob