2017-05-29 125 views
0

我試着寫一個腳本(KSH),這將檢查時間是正確的(+/- 5分鐘)時間beetween + 5/-5分鐘

echo "$(cat /home/chojtom/Tomek/Log.txt | sed -e 's:\([0-9][0-9][0-9][0-9]\)\([-]\)\([0-9][0-9]\)\([-]\)\([0-9][0-9]\)\([[:space:]]\)\(.*\):\7:g')" | sed  -e "s:[:]::g" > "/home/chojtom//Time.csv" 

這是格式可變時間:HHMMSS

if [ $(Time) -ge date "+%H%M%S" -d "5 min ago" ]; then 
echo "Wrong hour" 

else 


echo "Date Correct" 

但在這一步,我得到消息 ./test.sh[45]: Time: not found [No such file or directory] ./test.sh[45]: [: date: unknown operator DATE CORRECT

文件Time.csv有與線HHMMSS。

無法弄清楚,IF中的日期操作符怎麼了。 可以請別人幫忙嗎?

UPDATE 和我已經注意到,命令

Year="/home/chojtom/year.csv" 

$(cat /home/chojtom/Tomek/Log.txt | sed -e 's:\([0-9][0-9][0-9][0-9]\)\([-]\)\([0-9][0-9]\)\([-]\)\([0-9][0-9]\)\(.*\):\1:g')" > $Year 

不輸出保存到文件

+0

好的,應該是$ Time,shell現在看到的文件,但仍然 - 日期:未知操作符錯誤彈出 –

回答

0

請評價/運行日期命令:

if [ ${Time} -ge $(date "+%H%M%S" -d "5 min ago") ]; then 
echo "Wrong hour" 
else 
echo "Date Correct" 
fi 

雖然我」米猜測這仍然是一項正在進行的工作,因爲即使$ {Time}超過5米,它也應該打印'錯誤的小時'舊的。

+0

是的,它正在進行,但我卡在日期操作符如果,讓我檢查並復出你 –

+0

Works !,非常感謝你。 仍然有輸出保存問題 - 發佈更新 –

+0

至於新的/第二個問題...我會建議打開一個新的問題(因爲有2個不同的問題)...並提供Log.txt文件的內容加上echo/cat/sed命令的完整輸出[any(error)messages?文件被創建?什麼是放在檔案中?] – markp