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

관련 정보