检查文件是否存在并且大小是否大于X

・1 分钟阅读

 $ [[ $(find /path/to/file -type f -size +51200c 2>/dev/null) ]] && echo true || echo false

>

说明

  • find同时负责两个方面: 检查文件是否存在且大小是否大于51200,
  • 如果文件不存在,我们将stderr重定向到/dev/null以隐藏错误消息,
  • 如果文件匹配两个条件,则find的输出为空,否则为空,
  • 如果find的输出为非空白或空白,则[[ ... ]]为true或false,

你可以在if条件下使用,例如:


if [[ $(find /path/to/file -type f -size +51200c 2>/dev/null) ]]; do
 somecmd
fi

Hujiuxiang profile image