Môi trường Unix có một số công cụ tuyệt vời để phân tích văn bản dưới nhiều hình thức khác nhau. Tuy nhiên, về muộn, dữ liệu không ở các định dạng truyền thống (lịch sử) (CSV, TSV, dựa trên hồ sơ hoặc một số dựa trên dấu phân cách khác) trước đây. Dữ liệu ngày nay được trao đổi theo các định dạng có cấu trúc như XML / JSON.
Tôi biết có một số công cụ tốt như sed, awk và Perl có thể nhai gần như mọi dạng dữ liệu ngoài kia. Tuy nhiên, để làm việc với loại dữ liệu có cấu trúc này, người ta thường phải viết một chương trình hoàn chỉnh và, với ít thời gian có sẵn để trích xuất thông tin, người ta phải ngồi xuống và tìm ra toàn bộ logic của những gì người ta muốn truy vấn và đặt nó lập trình xuống Đôi khi điều này không ổn - về cơ bản vì thông tin được trích xuất từ các tệp đó đóng vai trò là đầu vào cho công việc tiếp theo; cũng vì thời gian cần thiết để tìm kiếm giải pháp thích hợp và mã hóa nó. Một công cụ dòng lệnh là cần thiết với các công tắc đủ để tìm, truy vấn và kết xuất dữ liệu.
Tôi đang tìm kiếm các công cụ lấy XML / JSON hoặc các dạng dữ liệu có cấu trúc khác và chuyển nó sang các định dạng khác như csv, v.v., để từ đó người ta có thể sử dụng các lệnh khác để lấy bất kỳ thông tin nào từ đó.
Có bất kỳ tiện ích dòng lệnh nào bạn biết trong đó thực hiện loại công việc này không? Đã có các kịch bản awk / Perl có sẵn cho điều này?
jq
là một công cụ tốt để phân tích JSON trong shell: stedolan.github.io/jq