Apache
を持っています ログファイル、access.log
、そのファイル内の行の出現回数をカウントする方法は?たとえば、cut -f 7 -d ' ' | cut -d '?' -f 1 | tr '[:upper:]' '[:lower:]'
a.php
b.php
a.php
c.php
d.php
b.php
a.php
私が望む結果は次のとおりです:
3 a.php
2 b.php
1 d.php # order doesn't matter
1 c.php
承認された回答:
| sort | uniq -c
コメントで述べられているように。
出力をsort
にパイプする 出力をアルファベット/数字の順序で整理します。
uniq
であるため、これは要件です。 繰り返される行でのみ一致します。つまり
a
b
a
uniq
を使用する場合 このテキストファイルでは、次のように返されます。
a
b
a
これは、2つのa
sはb
で区切られます –それらは連続した行ではありません。ただし、最初にデータをアルファベット順に並べ替える場合は、
a
a
b
次に、uniq
繰り返し行を削除します。 -c
uniq
のオプション 重複の数をカウントし、次の形式で出力を提供します:
2 a
1 b
参照:
-
sort(1)
-
uniq(1)