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.