shell指令碼中賦值給變數中有空格, 導致命令執行失敗
阿新 • • 發佈:2019-02-05
功能需求
統計指定時間程式傳送的資料量(按照發送時間)
傳送時間格式2017-12-14 16:18:11
, 本來向獲取小時格式
date +'%Y-%m-%d %H' --date="-1 hours"
2017-12-14 15
統計命令為
dh=`date +'%Y-%m-%d %H' --date="-1 hours"`
cat $logfile |grep Local|grep $interType$year|grep $dh|grep $hour':'|grep 'Result=0' |wc -l
統計結果為0
原因: 由於dh中複製帶有空格
,導致統計失敗
解決: 將年月日,和小時拆開(grep $d|grep $hour':[0-5][0-9]:'
)
將
d=`date +'%Y-%m-%d' --date="-1 hours"`
cat $logfile |grep SdtpLog|grep $interType$year|grep $d|grep $hour':[0-5][0-9]:'|awk -F '/|=' 'BEGIN{a=0}{a=a+$5}END{print a}'