Bash:
Arbeiten mit CSV
Wie geht das:
Lesen einer CSV-Datei Zeile für Zeile
while IFS=, read -r spalte1 spalte2 spalte3
do
echo "Spalte 1: $spalte1, Spalte 2: $spalte2, Spalte 3: $spalte3"
done < beispiel.csvBeispielausgabe:
Spalte 1: id, Spalte 2: name, Spalte 3: email
...Filtern von CSV-Zeilen basierend auf einer Bedingung
Mit awk können Sie einfach Zeilen filtern. Um zum Beispiel Zeilen zu finden, in denen die zweite Spalte “Alice” entspricht:
awk -F, '$2 == "Alice" { print $0 }' beispiel.csvÄndern eines Spaltenwerts
Um die zweite Spalte in Großbuchstaben zu ändern:
awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' beispiel.csvSortieren einer CSV-Datei basierend auf einer Spalte
Sie können eine CSV-Datei basierend auf, sagen wir, der dritten Spalte (numerisch) sortieren:
sort -t, -k3,3n beispiel.csvVerwenden von csvkit für komplexere Aufgaben
csvkit ist eine Sammlung von Befehlszeilen-Tools zum Konvertieren und Arbeiten mit CSV. Es kann über pip installiert werden.
Zum Konvertieren einer JSON-Datei in CSV:
in2csv data.json > data.csvUm eine CSV-Datei mit SQL abzufragen:
csvsql --query "SELECT name FROM sample WHERE id = 10" beispiel.csvHinweis: Die Installation von csvkit benötigt Python und kann über pip install csvkit erfolgen.