gpt4 book ai didi

regex - 使用正则表达式组的 GREP

转载 作者:行者123 更新时间:2023-12-04 08:34:12 25 4
gpt4 key购买 nike

我正在尝试解析一些 apache access.log 并获取用户代理。
一条线看起来像

54.183.192.175 - - [27/Nov/2015:16:52:37 +0000] "GET / HTTP/1.0" 200 329 "-" "Mozilla/5.0 (Windows NT 6.3; rv:36.0 Gecko/20100101 Firefox/36.0"
我去了 reg101 站点,最后得到了表达式 .*".*".*".*"(.*)"这在站点中与用户代理完美匹配。
然后我尝试在 grep 命令中使用该正则表达式,但它根本不返回任何内容。
我尝试使用单引号并转义双引号但没有成功。有人可以指出我该怎么做?
grep -o '.*".*".*".*"(.*)"' access.log   -- no results at all

grep -o .*\".*\".*\".*\"(.*)\" access.log -- error `bash: syntax

error near unexpected token ('

最佳答案

提取最后一对 "" 中的字符串, awk将是最简单的解决方案:

awk -F '"' '{print $(NF-1)}' httpd.log
Mozilla/5.0 (Windows NT 6.3; rv:36.0 Gecko/20100101 Firefox/36.0
工作原理:
  • 通过使用 -F '"'我们使用 "作为字段分隔符
  • $(NF-1)获取 last - 1领域
  • 关于regex - 使用正则表达式组的 GREP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64877052/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com