#awk
20 Einzeiler mit diesem Stichwort.
Alle Einzeiler mit Tag awk
Access-Log auf einen Zeitraum eingrenzen
#awk -v von="09/Oct/2026:14:00" -v bis="09/Oct/2026:15:00" 'substr($4, 2) >= von && substr($4, 2) < bis' /var/www/vhosts/system/example.com/logs/access_ssl_log
Alle Anfragen einer IP-Adresse im Access-Log anzeigen
#awk -v ip="203.0.113.10" '$1 == ip' /var/www/vhosts/system/example.com/logs/access_ssl_log | tail -50
Alle Mails eines Absenders aus der Postfix-Queue löschen
#postqueue -p | awk -v s="info@example.com" '/^[0-9A-Za-z]/ && $7 == s {print $1}' | tr -d '*!' | postsuper -d -
Anfragen pro Minute im Access-Log zählen
#awk '{print substr($4, 2, 17)}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn | head -20
Benutzerkonten mit Login-Shell auflisten
$awk -F: '$7 !~ /(nologin|false)$/ {print $1, $3, $6, $7}' /etc/passwd
CSV-Zeilen nach Wert in einer Spalte filtern
$awk -F';' -v c=3 -v w='aktiv' 'NR == 1 || $c == w' export.csv
Doppelte Zeilen entfernen, ohne die Reihenfolge zu ändern
$awk '!seen[$0]++' liste.txt
Durchschnitt, Minimum und Maximum einer Spalte berechnen
$awk -v c=2 'NR == 1 {min = max = $c} {s += $c; if ($c < min) min = $c; if ($c > max) max = $c} END {if (NR) printf "n=%d avg=%.2f min=%s max=%s\n", NR, s/NR, min, max}' messwerte.txt
Gesamtgröße aller Dateien eines Typs berechnen
$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f -iname '*.mp4' -printf '%s\n' | awk '{s+=$1; n++} END {printf "%d Dateien, %.1f MB\n", n, s/1048576}'
Häufigste 404-Fehler im Access-Log finden
#awk '$9 == 404 {print $7}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn | head -20
Häufigste Absender in der Postfix-Queue ermitteln
$postqueue -p | awk '/^[0-9A-Za-z]/ {print $7}' | sort | uniq -c | sort -rn | head -20
Häufigste IP-Adressen im Access-Log ermitteln
#awk '{print $1}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn | head -20
Häufigste User-Agents und Bots im Access-Log
#awk -F'"' '{print $6}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn | head -20
HTTP-Statuscodes im Access-Log zählen
#awk '{print $9}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn
Konten mit UID 0 und damit Root-Rechten finden
$awk -F: '$3 == 0 {print $1}' /etc/passwd
Meistaufgerufene URLs im Access-Log finden
#awk '{print $7}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn | head -20
RAM-Verbrauch pro Programm zusammenrechnen
$ps -eo rss=,comm= | awk '{a[$2]+=$1} END {for (p in a) printf "%8.1f MB %s\n", a[p]/1024, p}' | sort -rn | head -15
Serverfehler (5xx) im Access-Log auswerten
#awk '$9 ~ /^5[0-9][0-9]$/ {print $9, $7}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn | head -20
Zahlen in einer Spalte mit awk summieren
$awk -v c=10 '{s += $c} END {print s}' /var/www/vhosts/system/example.com/logs/access_ssl_log
Zeilen ausgeben, deren Spaltenwert über einer Grenze liegt
$awk -v c=10 -v min=5000000 '$c + 0 > min + 0' /var/www/vhosts/system/example.com/logs/access_ssl_log