だから私は最初に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