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.csvExempel 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.csvModifiera ett kolumnvärde
För att ändra andra kolumnen till versaler:
awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' sample.csvSortera 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.csvAnvä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.csvFör att fråga en CSV-fil med SQL:
csvsql --query "SELECT name FROM sample WHERE id = 10" sample.csvObs: Installation av csvkit kräver Python och kan göras med hjälp av pip install csvkit.