我有一个为 Mac OSX 编写的 shell 脚本,现在移植到 Linux 机器上。我目前无法访问 Linux 机器(我很快就会设置虚拟机)shell 脚本中的某些语句失败了,这是意料之中的。我有一个 find 命令语句,用于查找大于 1MB 的文件大小:
oversize=`find "$somePath" -maxdepth 1 -size +1048576c -iname "*.gz" -print0 | xargs -0 ls -l | wc -l`
oversize=$((oversize * 1))
if [ $oversize -eq 0 ];then
echo "OK"
else
echo "Limit exceeded"
fi
知道这个语句是否有问题吗?它标记了一个大小为 1045400 字节的文件
答案1
我有一个用于查找大小大于 1MB 的文件的 find 命令语句:
对于该用途-size +1M
超大尺寸 =`find -maxdepth 2 -size +1M -exec ls -lh {} \; | wc -l` 超大尺寸=$((超大尺寸 * 1)) echo 超大尺寸 = $超大尺寸 如果 [ $oversize -eq 0 ];则 回显“确定” 别的 echo“超出限制” 菲
它给出输出
大号尺寸 = 96
超出限制
确实如此吧?
更新
看到这里对我来说它给出了正确的输出
[max@localhost ~]$ find 下载/-maxdepth 1 -size +1048576c -name "*.pdf" -print0 | xargs -0 ls -l | wc -l 9 [max@localhost ~]$ find 下载/-maxdepth 1 -size +1048576c -name "*.pdf" -print0 | xargs -0 ls -l -rw-rw-r-- 1 max max 1443224 10月11日 17:04 下载/------.pdf -rw-rw-r-- 1 max max 1330293 9 月 29 日 15:27 下载/-------.pdf -rw-rw-r-- 1 max max 12825921 10月1日 18:49 下载/--------.pdf -rw-rw-r-- 1 max max 8197602 9月29日 15:46 下载/--------.pdf -rw-rw-r-- 1 max max 1604859 10月11日 17:23 下载/------.pdf -rw-rw-r-- 1 max max 2792931 10月24日 11:27 下载/--------.pdf -rw-rw-r-- 1 max max 5382152 10月9日 14:52 下载/----------.pdf -rw-rw-r-- 1 max max 1113609 9 月 29 日 15:46 下载/--------.pdf -rw-rw-r-- 1 max max 9198710 9 月 29 日 15:40 下载/---------.pdf