regex - 使用 sed 提取日期时间

标签 regex sed

我正在查看来自 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

最佳答案

试试这个:

  sed -e 's;^.*\(\[.*\]\).*$;\1;' inputFileName > outputFileName

关于regex - 使用 sed 提取日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551705/

相关文章:

php - 特殊字符和 URL 重写

javascript - 日语字符的正则表达式

mysql - 如何在 MySQL 中搜索没有定义字符的字符串?

linux - 一些文本替换问题。请指教

regex - sed 中的反向引用返回错误值

regex - 从 GNU make 中运行 grep

regex - notepad++ 关键字仅在行首时

database - 如何使用 sed 使用引用文件在文件中进行数千次替换?

unix - sed -e 和 sed -f 之间的区别

linux - 命令行编辑 .CSV 文件