linux find 命令问题

linux find 命令问题

我有一个为 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

相关内容