如何使用 awk 仅返回以“.php”结尾的字符串

如何使用 awk 仅返回以“.php”结尾的字符串

所以我对使用 awk 非常陌生,我试图找到仅以“.php”结尾的条目的结果。我似乎无法弄清楚如何只显示那些特定的条目。请帮忙。

cat apache.log  | awk '{print $ 7} ' | sort | uniq -c | sort -nr   

  4 /main/set.php
  4 /main/search.php
  4 /main/call.php
  4 /kernel/add.php
  4 /finance/get.php
  3 /system/request.php
  3 /system/list.php
  3 /printer/get.php
  3 /kernel/get.php
  3 /finance/search.php
  2 /system/remove.php
  1 /system/set.php?value=56107
  1 /system/set.php?value=48930
  1 /system/set.php?value=43706
  1 /system/set.php?value=40718
  1 /system/set.php?token=EuQWLAMegG
  1 /system/set.php?timeout=36122
  1 /system/set.php?session=syL_XvQzCc
  1 /system/set.php?secret=Edtm_UVCwy
  1 /system/set.php?name=APxewjhRBL
  1 /system/set.php?key=bxYETGihzL
  1 /system/set.php?aws=XYUERQbtu-
  1 /system/set.php?aws=oiyfEeWzYk
  1 /system/set.php?aws=dzTgcALKEV

答案1

如果您想搜索第七列中以 php 结尾的条目,您可以尝试这样的操作

awk '$7 ~ /\.php$/{print $7}' 

答案2

您可以使用 grep 仅显示以 .php 结尾的内容,并使用带空格的引号(如“.php ”)。

插入到您的代码中(修复了 awk),如下所示:

cat apache.log  | awk '{print $7}' | grep ".php " | sort | uniq -c | sort -nr

相关内容