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.