Bash:
Arbeide med CSV

Hvordan:

Lese en CSV-fil Linje for Linje

while IFS=, read -r kolonne1 kolonne2 kolonne3
do
  echo "Kolonne 1: $kolonne1, Kolonne 2: $kolonne2, Kolonne 3: $kolonne3"
done < eksempel.csv

Eksempel på utskrift:

Kolonne 1: id, Kolonne 2: navn, Kolonne 3: epost
...

Filtrere CSV-rader Basert på en Betingelse

Ved å bruke awk, kan du enkelt filtrere rader. For eksempel, for å finne rader hvor andre kolonne er lik “Alice”:

awk -F, '$2 == "Alice" { print $0 }' eksempel.csv

Endre en Kolonneverdi

For å endre den andre kolonnen til store bokstaver:

awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' eksempel.csv

Sortere en CSV-fil Basert på en Kolonne

Du kan sortere en CSV-fil basert på, si, den tredje kolonnen (numerisk):

sort -t, -k3,3n eksempel.csv

Bruke csvkit til Mer Komplekse Oppgaver

csvkit er en samling av kommandolinjeverktøy for å konvertere til og arbeide med CSV. Det kan installeres via pip.

For å konvertere en JSON-fil til CSV:

in2csv data.json > data.csv

For å spørre en CSV-fil ved bruk av SQL:

csvsql --query "SELECT name FROM eksempel WHERE id = 10" eksempel.csv

Merk: Installasjon av csvkit krever Python og kan gjøres ved å bruke pip install csvkit.