我的日誌格式提取數據
##<01-Mar-2015 03:48:18 o'clock GMT> <info>
##<01-Mar-2015 03:48:20 o'clock GMT> <info>
##<01-Mar-2015 03:48:30 o'clock GMT> <info>
##<01-Mar-2015 03:48:39 o'clock GMT> <info>
我寫的shell腳本在日誌文件中提取從最後記錄數據的最後5分鐘的數據,然後在它。我搜索的字符串我是shell腳本的新手,我使用了grep命令,但它沒用。任何人都可以幫助我。 我嘗試了下面的腳本
#!/bin/bash
H=1 ## Hours
LOGFILE=/path/to/logfile.txt
X=$((H * 60 * 60)) ## Hours converted to seconds
function get_ts {
DATE="${1%%\]*}"; DATE="${DATE##*\[}"; DATE=${DATE/:/ }; DATE=${DATE//\// }
TS=$(date -d "$DATE" '+%s')
}
get_ts "$(tail -n 1 "$LOGFILE")"
LAST=$TS
while read -r LINE; do
get_ts "$LINE"
(((LAST - TS) <= X)) && echo "$LINE"
done < "$LOGFILE"
,並運行它得到下面的錯誤 get_ts:DATE = $ {DATE /:/}:0403-011指定的替代無效此命令。
請編輯您的問題,以顯示您已經嘗試過的內容以及相應期望輸出的一些示例輸入。 – 2015-03-03 09:15:49