在文件上工作需要使用H:MM:SS
格式的时间戳来grep该行。我尝试了以下egrep '[0-9]\:[0-9]\:[0-9]'
。不适合我。我在正则表达式中做错了什么?
答案 0 :(得分:5)
$ date -u | egrep '\d{1,2}:\d{1,2}:\d{1,2}'
Fri May 2 00:59:47 UTC 2014
这样的网站
答案 1 :(得分:3)
以下是修复:
grep '[0-9]:[0-9][0-9]:[0-9][0-9]'
如果你只需要获得时间戳,你的grep就是gnu grep。
grep -o '[0-9]:[0-9][0-9]:[0-9][0-9]'
如果你的工作更加努力,只限时间格式:
grep '[0-2][0-9]:[0-5][0-9]:[0-5][0-9]'
答案 2 :(得分:0)
我知道的最简单的方法:
grep -E '([0-9]{2}:){2}[0-9]{2}' file
如果您还需要月份和日期:
grep -E '.{3,4} .{,2} ([0-9]{2}:){2}[0-9]{2}' file