2016-07-01 4 views
0

私は、入力されたデータが私のfile.Andに存在していない場合であるかどうかを確認する必要があり入力したデータがUNIXのログファイルに存在するかどうかを確認するにはどうすればよいですか?

Apr 10 16 02:07:20 Data 1 
Apr 11 16 02:07:20 Data 1 
May 10 16 04:11:09 Data 2 
May 12 16 04:11:09 Data 2 

次のデータとログファイルが、それはerror.Iは、次のコードを使用しています表示されるはずです。

if [ ! -d "$StartTime" ] 
then 
{ 
echo " $StartTime does not exists in the file" 
exit 
} 
fi 

"$StartTime"店舗Apr 10 16 02:07:20日付。ログファイル名はどこで指定する必要がありますか?

答えて

2

あなたは以下のようにそれを書くことがあります。

StartTime="02:08:20" 
if [ `grep -c "$StartTime" *` -eq 0 ] 
    then echo " $StartTime does not exist in the files" 
fi 
  • grepを一致
  • ifマッチした行数のための検索文字列と-cのために一致させるためには、別名印刷
  • にマッチしない、0に等しい -eqを数えます
+0

私はすでに '02を4月10日16格納しています:grep(すなわち検索文字列が見つからない場合、戻り終了状態1は失敗します* | wc -l' -eq 0'?GIT Bashで動作しますか? – Vishwaroopa

+0

@Vishwaroopa、GIT Bashについてはわかりませんが、コマンドが利用可能であれば試してみてください。 –

+0

ありがとうログファイル名はどこで指定できますか?log1.log(filename)に '$ StartTime'すなわち' Apr 10 16 02:07:20'の日付があるかどうかを確認する必要があります – Vishwaroopa

1

エントリの数を数える必要はありません。 07::。20`私たちが使用している理由は$ StartTime`は私が知っているかもしれない `に`

StartTime="02:07:20" 
if grep -q "${StartTime}" test.log;then 
    echo " $StartTime does not exist in the files" 
    exit 1 
fi 
+0

答えをありがとう – Vishwaroopa

関連する問題