2017-05-29 8 views
0

イム時間+ 5/-5 beetween分時間が(+/- 5分)に右であるかどうかをチェックするスクリプト(kshの)を作成しようと

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とすると、シェルはファイルを見ていますが、まだ日付が表示されています:unknow演算子のエラーが表示されます –

答えて

0

を評価してみ出力をファイルに保存されません。

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

けれどもI」 $ {Time}が5mを超えても '間違った時間'が表示されるはずなので、これを推測することはまだ進行中ですinutes古い。

+0

はい、実行中ですが、Ifの日付演算子でスタックしています。あなたは –

+0

作品!、ありがとう。 まだ出力の保存に問題があります - 投稿更新 –

+0

新しい/第2号については...私は新しい質問を開くことをお勧めします(2つの異なる問題があるので)...そしてLog.txtファイルの内容を提供してくださいecho/cat/sedコマンド[any(エラー)メッセージからの完全な出力?ファイルは作成されますか?ファイルには何が置かれていますか?] – markp

関連する問題