ファイルの行数をどのように計算しますか?

ファイルの行数をどのように計算しますか?

ファイルに異なるIPが何回あるかを計算する必要があります。

grep使用する権限がないため、これを使用してファイルを開きます。grep

私の権利

User lotarc may run the following commands on herbert:
    (root) /bin/su - censored
    (root) /bin/su - censored
    (root) /bin/cat /var/log/nginx/access.log, /bin/cat /var/log/nginx/access.log.1, /bin/zcat /var/log/nginx/access.log.[0-9]*.gz, /bin/cat /var/log/nginx/error.log, /bin/cat /var/log/nginx/error.log.1, /bin/zcat
        /var/log/nginx/error.log.[0-9]*.gz

sudo cat /var/log/nginx/access.log.1 | grep -E '1ip|2ip|3ip'

私の質問は、このIPを計算して出力を取得する方法です。複数のファイル(例:access.log.2.gz)から数を数える必要があります。

文書内容

some ip - - [30/Sep/2019:07:26:03 +0300] "POST /clientapp/request/signUp HTTP/1.1" 200 0 "-" "python-requests/2.22.0" "-"

ベストアンサー1

この試み、

cat access_log | awk '{a[$1]++} END {for(i in a) print a[i],i}' | sort -n | tail -n1

特定のIPの場合:

cat access_log | awk '$1 == "192.168.1.37" || $1 == "192.168.1.110" {a[$1]++} END {for(i in a) print a[i],i}' 

おすすめ記事