يمكنك تجربة البرنامج النصي التالي:
#!/bin/bash
msg=
count=0
while read line; do
read freq mac <<< $line
if (( $freq > 25 )) ; then
(( count ++ ))
msg="$msg$line"$'\n'
fi
done
mail your@email.com -s "Alert: $count mac with more than 25 entries" <<< $msg
أعد توجيه الإخراج من البرنامج النصي إلى الإدخال القياسي لهذا البرنامج النصي (عادةً مع أنبوب |
): your_script.sh | the_above_script.sh
تأكد من تغيير عنوان البريد الإلكتروني الوهمي. ستتلقى بعد ذلك رسالة بريد إلكتروني مع عدد الخط في الموضوع والخطوط الكاملة في الجسم.
إليك مثال على المدى الذي أدخلت فيه echo
قبل mail
يأمر
$ cat message
3 00:05:00:E7:5A:EA
3 00:0C:85:F2:F8:4E
3 00:11:92:21:87:14
3 00:17:C5:69:49:A1
3 00:1A:E3:8C:E4:1A
3 00:1D:A2:E7:BC:24
3 00:26:98:14:91:05
3 44:03:A7:C0:0D:26
13 C0:62:6B:AE:6A:5D
26 E8:B7:48:36:8C:AE
$ ./t.sh < message
mail your@email.com -s Alert: 1 mac with more than 25 entries <<< 26 E8:B7:48:36:8C:AE
إذا كنت تستطيع الاستخدام awk
, ، هنا حل أقصر
< message.txt awk '{ if ($1>25) exit 1 }' || mailx -s "Random Subject" myemail@mydomain.com < message.txt