# Aus /etc/passwd alle Zeilen des aktuellen Kurses auswählen,
# von jeder Zeile nur das Feld mit Vor- und Nachname extrahieren
# (5. Feld durch : getrennt),
# sortieren nach dem Nachnamen (2. Spalte).

fgrep pi23 /etc/passwd | cut -d ':' -f 5 | sort -k 2

# Alle beim ls -l /usr/bin angezeigten File-Rechte
# (nur die 9 Rechte in Spalte 2-10, ohne File-Typ),
# ohne doppelte Zeilen ("unique"), großgeschrieben statt kleingeschrieben.
# Achtung: Die "total"-Zeile von ls gehört entfernt! (tail ...)

ls -l | tail -n +2 | cut -c 2-10 | sort -u | tr "[:lower:]" "[:upper:]"
# einfacher, nur für ASCII
ls -l | tail -n +2 | cut -c 2-10 | sort -u | tr "[a-z]" "[A-Z]"

# Für alle *.h-Files in und unter /usr/include:
# Anzeigen, wie viele "#include"-Zeilen in jedem dieser Files vorkommen:
# filename:anzahl
# Files mit Anzahl 0 weglassen,
# nach Anzahl (numerisch) absteigend sortieren,
# "/usr/include/" am Anfang durch ".../" ersetzen
# seitenweise anzeigen

# find ... -print0 | xargs -0 ... wegen Filenamen mit Zwischenräumen
# grep ':0$' ... $ steht in Regular Expressions für "am Ende der Zeile"
find /usr/include/ -type f -name "*.h" -print0 | xargs -0 fgrep -cH '#include' | sort -n -r -t ':' -k 2 | grep -v ':0$' | sed 's|/usr/include/|.../|g' | less

# Funktionsgleiche Alternative mit find -exec statt find | xargs
find /usr/include/ -type f -name "*.h" -exec fgrep -cH '#include' '{}' \+ | sort -n -r -t ':' -k 2 | grep -v ':0$' | sed 's|/usr/include/|.../|g' | less
