我想創建一個腳本,當運行時,將訪問/ var/log/secure文件並報告當天發生了多少次失敗嘗試,將輸出追加到名爲failed的文件中格式:Linux重定向幫助需要
日期:14年2月15日時間:10:30號失敗的嘗試:8
和輸出應該使用文件重定向腳本內部完成,因此標準輸出進入failed.log和標準錯誤進入error.log文件。
我的代碼(test.sh)是這樣的:
#!/bin/bash
for i in $(date)
do
mdy=$($i "+%m/%d/%Y)
md=$($i "+%m %d")
tme=$($i "+ H:%M)
fail=$(grep Failed /var/log/secure | grep $md | wc -l
echo "Date: $mdy Time: $tme Number of failed attempts: $fail"
done
我在做什麼錯?
我做了for循環考慮我將是日期命令和mdy將顯示mm/dd/yy,tme將是HH:MM和md將用於grep var/log/secure爲失敗登錄。
一旦我得到我想要的輸出,我將能夠通過 做重定向SH test.sh> failed.log 2> error.log中
順便說一句,'grep -c'相當於'grep | wc -l'。 – kojiro
'這應該做什麼?$($ i「+%m /%d /%Y」)? – Alfe
對於這個問題,'for'循環甚至做什麼?你循環當前'日期'輸出的組件......? – nneonneo