สภาพแวดล้อม Unix มีเครื่องมือที่ยอดเยี่ยมสำหรับการแยกวิเคราะห์ข้อความในรูปแบบต่าง ๆ อย่างไรก็ตามในช่วงปลายข้อมูลไม่ได้อยู่ในรูปแบบดั้งเดิม (ประวัติ) (CSV, TSV, ตามบันทึกหรืออื่น ๆ ตามตัวคั่น) ที่เคยเป็นมาก่อน ข้อมูลวันนี้มีการแลกเปลี่ยนในรูปแบบที่มีโครงสร้างเช่น XML / JSON
ฉันรู้ว่ามีเครื่องมือที่ดีเช่น sed, awk และ Perl ซึ่งสามารถเคี้ยวข้อมูลได้เกือบทุกรูปแบบ อย่างไรก็ตามในการทำงานกับข้อมูลที่มีโครงสร้างเช่นนี้มักจะต้องเขียนโปรแกรมที่สมบูรณ์และให้เวลาเล็กน้อยในการดึงข้อมูลเราต้องนั่งลงและคิดตรรกะทั้งหมดของสิ่งที่ต้องการสืบค้นและวาง มันลงโปรแกรม บางครั้งมันก็ไม่เป็นไร - โดยพื้นฐานแล้วเนื่องจากข้อมูลที่ดึงมาจากไฟล์เหล่านั้นทำหน้าที่เป็นอินพุตสำหรับการทำงานต่อไป ก็เพราะเวลาที่ใช้ในการค้นหาโซลูชันที่เหมาะสมและรหัสขึ้น จำเป็นต้องใช้เครื่องมือบรรทัดคำสั่งที่มีสวิตช์เพียงพอที่จะค้นหาสืบค้นและถ่ายโอนข้อมูล
ฉันกำลังมองหาเครื่องมือที่ใช้ XML / JSON หรือรูปแบบข้อมูลที่มีโครงสร้างอื่น ๆ แล้วทิ้งลงในรูปแบบอื่น ๆ เช่น csv เป็นต้นเพื่อให้สามารถใช้คำสั่งอื่นเพื่อดึงข้อมูลออกมาได้
มียูทิลิตีบรรทัดคำสั่งใดบ้างที่คุณรู้จักซึ่งเป็นงานประเภทนี้? มีสคริปต์ awk / Perl อยู่ในรายการนี้หรือไม่?
jq
เป็นเครื่องมือที่ดีสำหรับการวิเคราะห์ JSON ในเชลล์: stedolan.github.io/jq