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
.