Fish Shell:
עובדים עם CSV

איך לעשות:

Shell Fish בפני עצמו אינו כולל פונקציות מובנות שתוכננו במיוחד לטיפול בCSV. עם זאת, אתם יכולים לנצל כלים של Unix כמו awk, sed, ו-cut לפעולות בסיסיות או להשתמש בכלים מתמחים כמו csvkit למשימות מתקדמות יותר.

לקרוא קובץ CSV ולהדפיס את העמודה הראשונה:

שימוש ב-cut כדי להוציא את העמודה הראשונה:

cut -d ',' -f1 data.csv

פלט לדוגמה:

Name
Alice
Bob

לסנן שורות CSV בהתבסס על ערך עמודה:

שימוש ב-awk כדי למצוא שורות שבעמודה השנייה הערך הוא “42”:

awk -F, '$2 == "42" { print $0 }' data.csv

פלט לדוגמה:

Bob,42,London

לשנות קובץ CSV (למשל, להוסיף עמודה):

שימוש ב-awk להוספת עמודה עם ערך סטטי “NewColumn”:

awk -F, 'BEGIN {OFS=","} {print $0,"NewColumn"}' data.csv > modified.csv

פלט לדוגמה ב-modified.csv:

Name,Age,City,NewColumn
Alice,30,New York,NewColumn
Bob,42,London,NewColumn

שימוש ב-csvkit לפעולות מתקדמות יותר:

ראשית, וודאו ש-csvkit מותקן. אם לא, התקינו אותו בעזרת pip: pip install csvkit.

המרת קובץ CSV ל-JSON:

csvjson data.csv > data.json

פלט לדוגמה ב-data.json:

[{"Name":"Alice","Age":"30","City":"New York"},{"Name":"Bob","Age":"42","City":"London"}]

סינון עם csvgrep של csvkit:

csvgrep -c 2 -m 42 data.csv

הפקודה הזו משחזרת את משימת הסינון אך באמצעות csvkit, עם יעד לעמודה 2 לערך “42”.

כסיכום, למרות ש-Shell Fish עצמו אולי לא מציע יכולות מובנות לטיפול ישיר בקבצי CSV, האינטגרציה החלקה שלו עם כלים של Unix וזמינותם של כלים כמו csvkit מספקים אפשרויות חזקות לעבודה עם קבצי CSV.