如果文件夹中的文件数超过xx,则单行发送电子邮件?

时间:2015-11-29 15:57:21

标签: bash email count

我想计算单个文件夹中的文件数量,如果文件数量超过一定数量(例如5000),则应发送一封电子邮件。

命令是这样的,但是我希望将它放在一行中(以后用于cron作业):

count=$(find /dir1/dir2/dir3 -name "*.jpg" | wc -l) 
if [ $count -gt 5000 ]
then
    <command to send email>
else
    <do nothing>
fi

1 个答案:

答案 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?