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

Zählen Sie Datensätze, die mit Awk übereinstimmen?

Also wurde mir gesagt, ich solle last > lastloggedin machen Dadurch wird eine Datei erstellt, die die letzte Anmeldung der Klasse seit dem letzten Systemneustart anzeigt, und jetzt werde ich aufgefordert, ein Awk-Skript mit dem Namen myawk zu schreiben das zählt/bestimmt, wie viele Zeilen von lastloggedin die Zeichenfolge CFS264 enthalten .

Ich habe grep -c CFS264 lastloggedin ausgeführt

Akzeptierte Antwort:

Um Ihnen den Einstieg zu erleichtern, können Sie awk verwenden um nach Zeilen in einer Datei zu suchen, die eine Zeichenfolge wie diese enthalten:

$ awk '/CFS264/ { .... }' lastloggedin

Die Bits in { .... } sind die Befehle, die erforderlich sind, um die Anzahl der Zeilen mit dieser Zeichenfolge zu zählen. Um zu bestätigen, dass das obige funktioniert, können Sie einen print $0 verwenden darin, um einfach die Zeilen auszugeben, die die Suchzeichenfolge enthalten.

$ awk '/CFS264/ { print $0 }' lastloggedin

Was das Zählen angeht, wenn Sie nach „awk counter“ suchen, stoßen Sie auf diese SO Q&A mit dem Titel:using awk to count no of records. Die dort gezeigte Methode würde für das, was Sie beschreiben, ausreichen:

$ awk '/CFS264/ {count++} END{print count}' lastloggedin

Beispiel

$ last > lastloggedin

$ awk '/slm/ {count++} END {print count}' lastloggedin 
758

$ grep slm lastloggedin  | wc -l
758

$ grep -c slm lastloggedin
758

HINWEIS: Sie sagen im last nicht, zu welchem ​​Feld CFS264 gehört Ausgang. Angenommen, es handelt sich um einen Benutzernamen, dann könnten Sie den awk weiter einschränken Befehl, nur dieses Feld wie folgt zu durchsuchen:

$ awk '$1=="CFS264" { print $0 }' lastloggedin

Linux
  1. Mehrzeiliger Musterabgleich mit Sed, Awk oder Grep?

  2. Ersetzen Sie Linien, die einem Muster entsprechen, durch Linien aus einer anderen Datei in der richtigen Reihenfolge?

  3. Wie suche ich in bestimmten Dateien, die einem Muster entsprechen?

  4. Verwendung von awk mit Spaltenwertbedingungen

  5. Speichern Sie die Änderungen mit awk

AWK-Befehl in Linux mit Beispielen

Linux/UNIX Awk Command Tutorial mit Beispielen

Linux-awk-Befehl mit 10 Beispielen

Bash-Funktion, um das neueste Dateiübereinstimmungsmuster zu finden

Bash-Skript-Musterabgleich

tar -C mit einem Wildcard-Dateimuster