渡された特定の変数値をgrepするために、catコマンドの変数を渡す

渡された特定の変数値をgrepするために、catコマンドの変数を渡す

ログ内の特定のタイムスタンプ+希望の文字列をgrepしようとしています。以下のコードをご覧ください。

month=`echo $(date) | cut -d ' ' -f 2`
zero=0
year=`echo $(date) | cut -d ' ' -f 6`

date1=$zero$(echo $(date) | cut -d ' ' -f 3)

currenttiemstamp=`echo $(date) | cut -d ' ' -f 4`


currenthr=`echo $(date) | cut -d ' ' -f 4 |cut -d ':' -f 1`
currentmin=`echo $(date) | cut -d ' ' -f 4 |cut -d ' ' -f 2`
currentmin1=`expr $(echo $(date) | cut -d ' ' -f 4 |cut -d ':' -f 2) - 6`

x="Error Message"

**Assigning timestamp string to a variable
stringtocheck=$date1" "$month" "$year" "$currenthr":"$currentmin1**

#printing timestamp string
echo "$stringtocheck"

cd /log/
**cat xyz.log |grep "^ "$stringtocheck""|grep "^ "$x""**

上記のcatコマンドでも一重引用符を使用してみましたが、結果は出ませんでした。

私がここで何かをしている場合は教えてください。私はシェルスクリプトの世界に完全に慣れていません。

ベストアンサー1

回答で質問を完了します。

grep "$(date --date="now - 1 minute" +"%d %b %Y %H:%M")" xyz.log | grep "Error message"

同様に、ループを使用して過去5分を確認できます。

おすすめ記事