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

7番目の列でphpで終わるものを検索するには、次のようにしてください。

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

答え2

grepを使用すると、.phpで終わるコンテンツのみを表示し、スペースを含む引用符(「.php」など)を使用できます。

次のようにコードに挿入します(awkを修正しました)。

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

関連情報