我正在查看来自tomcat的访问日志,其中包含以下内容:
96.28.193.125 - - [10/May/2012:07:08:39 +0000] 0 "GET / " 200 123 "-" "-"
我想用sed来取出日期时间。
所以我只看到:
[10/May/2012:07:08:39 +0000]
我知道它应该是这样的:
sed -e 's/oldstuff//g' inputFileName > outputFileName
oldstuff应该是一个正则表达式,以获取不在方括号之间的文本。
我不知道如何在正则表达式中表达这一点并且会欣赏任何提示?
我尽力而为:
sed -e 's
/[^\[(.*?)\]]//g' inputfilename > outputFileName
答案 0 :(得分:1)
试试这个:
sed -e 's;^.*\(\[.*\]\).*$;\1;' inputFileName > outputFileName
答案 1 :(得分:1)
grep -o '\[[^]]\+\]' file
找到 [然后一个或多个不是的字符] 然后找一个]