CSV-Daten auswerten
Du legst eine CSV-Tabelle an und filterst Zeilen mit Linux-Tools (grep, awk, sort). Ergebnis-Datei wird vom Validator geprüft.
Eine Tabelle anlegen und filtern
CSV-Daten auswerten
CSV („Comma-Separated Values") ist das einfachste Tabellen-Format: reiner Text, Spalten durch Kommas getrennt, eine Zeile pro Datensatz. Excel, Datenbanken und APIs tauschen darüber Daten aus. Du wertest CSV mit den Linux-Werkzeugen grep, wc, cut und sort aus.
Wichtige Begriffe & Werkzeuge
- Kopfzeile (header): die erste Zeile mit den Spaltennamen.
grep: filtert Zeilen, die ein Muster enthalten.wc -l: zählt Zeilen.cut -d, -f1: schneidet die 1. Spalte heraus (Trennzeichen,).sort: sortiert Zeilen alphabetisch.
Arbeite im Ordner
/home/student/csv/(mkdir -p /home/student/csv).
Dein Ziel
Du legst eine CSV-Tabelle an und wertest sie aus: filtern, zählen, Spalten extrahieren, sortieren.
Aufgaben
1. Eine CSV anlegen
Begriff: CSV-Aufbau. Erste Zeile = Spaltennamen, danach je eine Zeile pro Datensatz. Lege eine Tabelle
schueler.csvmit der Kopfzeilename,klasse,alterund mindestens vier Datenzeilen an.mkdir -p /home/student/csv printf "name,klasse,alter\nMax,7a,13\nLisa,7b,12\nTom,7a,13\nAnna,8a,14\n" > /home/student/csv/schueler.csvKontrolle:
schueler.csvbeginnt mitname,klasse,alterund hat mindestens 4 Datenzeilen mit je 3 Spalten.2. Nur Klasse 7a herausfiltern
Begriff: Zeilen filtern mit
grep. Hole alle Schüler der Klasse7aheraus und schreibe sie nachklasse-7a.csv.grep ",7a," /home/student/csv/schueler.csv > /home/student/csv/klasse-7a.csvDas Muster
,7a,trifft die Klasse-Spalte genau (zwischen zwei Kommas).Kontrolle:
klasse-7a.csventhält Zeilen mit,7a,.3. Anzahl Schüler insgesamt
Begriff: Zeilen zählen. Zähle die Datenzeilen (ohne Kopfzeile) und schreibe nur die Zahl nach
anzahl.txt.tail -n +2überspringt die erste Zeile.tail -n +2 /home/student/csv/schueler.csv | wc -l > /home/student/csv/anzahl.txtKontrolle:
anzahl.txtenthält genau eine Zahl.4. Nur Namen extrahieren
Begriff: Spalte extrahieren mit
cut.cut -d, -f1schneidet die 1. Spalte (Trennzeichen Komma) heraus. Hole nur die Namen (ohne Kopfzeile) nachnamen.txt.tail -n +2 /home/student/csv/schueler.csv | cut -d, -f1 > /home/student/csv/namen.txtKontrolle:
namen.txtenthält mindestens vier Zeilen mit je einem Namen.5. Schüler alphabetisch sortieren
Begriff: sortieren mit Kopfzeile. Sortiere die Schüler alphabetisch nach Namen, behalte aber die Kopfzeile oben. Trick: Kopfzeile separat ausgeben, den Rest sortieren.
( head -1 /home/student/csv/schueler.csv; tail -n +2 /home/student/csv/schueler.csv | sort ) > /home/student/csv/sortiert.csvKontrolle:
sortiert.csvbeginnt mit der Kopfzeilename,klasse,alter, gefolgt von den sortierten Zeilen.
Verwandte Kurse
Jetzt selbst üben
Lesen ist gut – selbst machen ist besser. Starte diesen Kurs an einer echten Linux-VM, direkt im Browser. Ein kostenloses Konto genügt.
Kostenlos startenLab-Inhalte unter CC BY 4.0 – frei nutzbar mit Namensnennung (© TechLogia).
