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
.