我想计算单个文件夹中的文件数量,如果文件数量超过一定数量(例如5000),则应发送一封电子邮件。
命令是这样的,但是我希望将它放在一行中(以后用于cron作业):
count=$(find /dir1/dir2/dir3 -name "*.jpg" | wc -l)
if [ $count -gt 5000 ]
then
<command to send email>
else
<do nothing>
fi
答案 0 :(得分:0)
您可以将命令与一个半列分开,并使用特殊引号(``)来检索输出的值(在这种情况下为wc -l
):
if [ `find /dir1/dir2/dir3 -name "*.jpg" | wc -l` -gt 5000 ]; then <command to send email>; else <do nothing>; fi
如果你&#34;什么都不做&#34;真的没什么,那么你可以把它留下来:
if [ `find /dir1/dir2/dir3 -name "*.jpg" | wc -l` -gt 5000 ]; then <command to send email>; fi
要发送邮件,您可以使用mail
,例如:
echo "this is the body" | mail -s "this is the subject" "to@address"
检查此问题中的不同选项:How to send email from Terminal?。