我有一个包含以下列Operation,Name,Start_Time,End_time,Status
的文件。
列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:00
和23:00:00
之间的行。
我尝试使用awk命令。但是没能成功。
请帮忙。
提前致谢。
Shreyas
答案 0 :(得分: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~/(22:..:..)|(23:00:00)/
选择第3列$3
遵循给定模式
(22:..:..)
在22
(23:00:00)
匹配23:00:00
修改强>
当列以空格分隔时
$ 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