Fish Shell:
การทำงานกับ CSV

วิธีการ:

โดยตัวมันเอง, Fish Shell ไม่มีฟังก์ชันที่ออกแบบมาโดยเฉพาะสำหรับการจัดการ 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”.

สรุปแล้ว, แม้ว่า Fish Shell เองอาจไม่มีความสามารถโดยตรงในการจัดการ CSV, แต่การรวมกันอย่างไม่มีรอยต่อกับยูทิลิตี Unix และการมีเครื่องมือเช่น csvkit เป็นตัวเลือกที่มีประสิทธิภาพสำหรับการทำงานกับไฟล์ CSV.