Bash:
Lavorare con i CSV

Come fare:

Leggere un File CSV Linea per Linea

while IFS=, read -r colonna1 colonna2 colonna3
do
  echo "Colonna 1: $colonna1, Colonna 2: $colonna2, Colonna 3: $colonna3"
done < sample.csv

Esempio di output:

Colonna 1: id, Colonna 2: nome, Colonna 3: email
...

Filtrare le Righe CSV Basandosi su una Condizione

Utilizzando awk, puoi facilmente filtrare le righe. Per esempio, per trovare le righe dove la seconda colonna è uguale ad “Alice”:

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

Modificare il Valore di una Colonna

Per cambiare la seconda colonna in maiuscolo:

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

Ordinare un File CSV Basandosi su una Colonna

Puoi ordinare un file CSV basandosi, diciamo, sulla terza colonna (numericamente):

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

Usare csvkit per Compiti Più Complessi

csvkit è un insieme di strumenti da linea di comando per convertire e lavorare con CSV. Può essere installato tramite pip.

Per convertire un file JSON in CSV:

in2csv data.json > data.csv

Per interrogare un file CSV usando SQL:

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

Nota: Installare csvkit richiede Python e può essere fatto usando pip install csvkit.