그래서 저는 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