Bash:
עובדים עם CSV
איך ל:
קריאת קובץ CSV שורה אחר שורה
while IFS=, read -r column1 column2 column3
do
echo "עמודה 1: $column1, עמודה 2: $column2, עמודה 3: $column3"
done < sample.csv
דוגמא לפלט:
עמודה 1: id, עמודה 2: name, עמודה 3: email
...
סינון שורות CSV בהתבסס על תנאי
שימוש ב-awk
, אתה יכול בקלות לסנן שורות. לדוגמה, למצוא שורות שבהן העמודה השנייה שווה ל-“Alice”:
awk -F, '$2 == "Alice" { print $0 }' sample.csv
שינוי ערך עמודה
לשנות את העמודה השנייה לאותיות גדולות:
awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' sample.csv
מיון קובץ CSV בהתבסס על עמודה
אתה יכול למיין קובץ CSV בהתבסס על, בוא נאמר, העמודה השלישית (באופן מספרי):
sort -t, -k3,3n sample.csv
שימוש ב-csvkit
למשימות מורכבות יותר
csvkit
הוא אוסף של כלים לשורת הפקודה להמרה ל-CSV ועבודה עם קבצי CSV. ניתן להתקין אותו דרך pip.
להמיר קובץ JSON ל-CSV:
in2csv data.json > data.csv
לשאול קובץ CSV באמצעות SQL:
csvsql --query "SELECT name FROM sample WHERE id = 10" sample.csv
שימו לב: התקנת csvkit
דורשת Python וניתן לבצע זאת באמצעות pip install csvkit
.