Bash:
Arbeta med CSV

Hur man gör:

Läsa en CSV-fil rad för rad

while IFS=, read -r kolumn1 kolumn2 kolumn3
do
  echo "Kolumn 1: $kolumn1, Kolumn 2: $kolumn2, Kolumn 3: $kolumn3"
done < sample.csv

Exempel på utdata:

Kolumn 1: id, Kolumn 2: namn, Kolumn 3: email
...

Filtrera CSV-rader baserat på ett villkor

Med awk kan du enkelt filtrera rader. Till exempel för att hitta rader där den andra kolumnen är lika med “Alice”:

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

Modifiera ett kolumnvärde

För att ändra andra kolumnen till versaler:

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

Sortera en CSV-fil baserat på en kolumn

Du kan sortera en CSV-fil baserat på, säg, den tredje kolumnen (numeriskt):

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

Använda csvkit för mer komplexa uppgifter

csvkit är en svit av kommandoradsverktyg för att konvertera till och arbeta med CSV. Det kan installeras via pip.

För att konvertera en JSON-fil till CSV:

in2csv data.json > data.csv

För att fråga en CSV-fil med SQL:

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

Obs: Installation av csvkit kräver Python och kan göras med hjälp av pip install csvkit.