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.