GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sortieren und zählen Anzahl der Zeilen?

Ich habe Apache Protokolldatei, access.log , wie kann man die Anzahl der Zeilenvorkommen in dieser Datei zählen? zum Beispiel das Ergebnis von cut -f 7 -d ' ' | cut -d '?' -f 1 | tr '[:upper:]' '[:lower:]' ist

a.php
b.php
a.php
c.php
d.php
b.php
a.php

das Ergebnis, das ich will, ist:

3 a.php
2 b.php
1 d.php # order doesn't matter
1 c.php 

Akzeptierte Antwort:

| sort | uniq -c

Wie in den Kommentaren angegeben.

Weiterleiten der Ausgabe an sort organisiert die Ausgabe in alphabetischer/numerischer Reihenfolge.

Dies ist eine Voraussetzung, weil uniq trifft nur auf wiederholte Zeilen zu, dh

a
b
a

Wenn Sie uniq verwenden In dieser Textdatei wird Folgendes zurückgegeben:

a
b
a

Das liegt daran, dass die beiden a s werden durch das b getrennt – es handelt sich nicht um aufeinanderfolgende Zeilen. Wenn Sie jedoch zuerst die Daten in alphabetischer Reihenfolge sortieren, zuerst wie

a
a
b

Dann uniq wird die sich wiederholenden Zeilen entfernen. Das -c Option von uniq zählt die Anzahl der Duplikate und liefert die Ausgabe in der Form:

2 a
1 b

Referenzen:

  • sort(1)
  • uniq(1)

Linux
  1. So zählen Sie die Anzahl der Dateien und Unterverzeichnisse in einem bestimmten Verzeichnis

  2. Wie drucke ich die Zeilen Nummer 15 und 25 von jeweils 50 Zeilen?

  3. Zählen Sie Zeilen, Wörter und Zeichen aus einer Datei in Linux

  4. Zählen Sie die Zeilen aller Dateien im Ubuntu-Verzeichnis

  5. Wie zähle ich Zeilen in einem Dokument?

Wc-Befehl in Linux (Anzahl der Zeilen, Wörter und Zeichen zählen)

Linux WC-Befehl zum Zählen der Anzahl der Zeilen, Wörter und Zeichen

5 Möglichkeiten, die Anzahl der Zeilen in einer Datei zu zählen

So zählen Sie die Anzahl der Dateien und Unterverzeichnisse in einem Verzeichnis

Beispiele für WC-Befehle:Zählen Sie die Anzahl der Zeilen, Wörter und Zeichen in Linux

Linux:Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen finden