首页 > 解决方案 > 获取状态代码作为 Apache“访问”日志文件格式的输出

问题描述

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 

如何使用上面的代码片段输出状态码,我尝试使用 cut 命令但似乎有一些问题

标签: linuxawksedgrep

解决方案


如果您使用 awk 您可以做以下两件事之一:如果您假设状态始终是第 9 个字段(请记住它默认使用空格进行标记)

  awk '{print $9}' 

或者,如果您假设它始终是倒数第二个字段(如评论中提到的@anubhave):

  awk '{print $(NF-1)}'

如果你更喜欢 sed

  sed -n  's/.*GET [^ ]* HTTP[^ ]*" \([0-9]\{3\}\) .*/\1/p'

推荐阅读