2014-10-28 76 views
0

我有一個包含以下列的文件Operation,Name,Start_Time,End_time,Status通過使用shell腳本提供指定的時間間隔從文件中提取行

Start_Time列包含日期和時間。

這是來自表格。

Upload | XYZ | 22/10/2014 22:00:00 | 22/10/2014 22:15:10 | finished 

Upload | ABC | 22/10/2014 22:10:00 | 22/10/2014 22:30:00 | failed 

Upload | EFG | 22/10/2014 23:00:00 | 22/10/2014 23:30:00 | failed 

我需要提取其START_TIME在於22:00:0023:00:00兩個(含)之間的行。

我試過使用awk命令。但不能成功。

請幫忙。

在此先感謝。

Shreyas

+1

一個例子會更好。 – 2014-10-28 04:56:17

+0

[在\ [timespan \]內查找日誌文件中的條目(例如,最後一小時)](http://stackoverflow.com/questions/7706095/find-entries-in-log-file-within-timespan -eg-the-last-hour) – tripleee 2014-10-28 06:33:52

回答

0
awk -F\| '$3~/(22:..:..)|(23:00:00)/' inputFile 

給出作爲輸出

Upload | XYZ | 22/10/2014 22:00:00 | 22/10/2014 22:15:10 | finished 
Upload | ABC | 22/10/2014 22:10:00 | 22/10/2014 22:30:00 | failed 
Upload | EFG | 22/10/2014 23:00:00 | 22/10/2014 23:30:00 | failed 

說明:

-F\|組輸入字段分隔符作爲|

其中第3欄,$3如下給定圖案

(22:..:..) 210條的選擇線的任何時間與22

(23:00:00)匹配23:00:00

EDIT begining匹配

當列由空格分隔

$ awk '$4~/(22:..:..)|(23:00:00)/' sam 
Upload XYZ 22/10/2014 22:00:00 22/10/2014 22:15:10 finished 
Upload ABC 22/10/2014 22:10:00 22/10/2014 22:30:00 failed 
Upload EFG 22/10/2014 23:00:00 22/10/2014 23:30:00 failed 
+0

它匹配任何日期嗎?或者僅限於指定日期,即22/10/2014? – 2014-10-28 06:06:31

+0

實際上沒有字段分隔符爲|在文件中。列之間有空格。如何整理呢? – 2014-10-28 06:16:59

+0

感謝您的支持。有效。 – 2014-10-28 06:50:21

相關問題