Làm thế nào để Prettyprint json sử dụng jq độc lập?


31

Hiện tại, khi tôi muốn in một tệp json bằng jq , tôi sử dụng:

cat file.json | grep jq .

Tuy nhiên, tôi mong muốn jqchấp nhận một tên tệp làm đối số mà không phải dự phòng cat.

Trang người đàn ông nói:

jq [tùy chọn ...] bộ lọc [tập tin ...]

... Theo mặc định, jq đọc một luồng các đối tượng JSON (khoảng cách được phân tách) từ stdin. Một hoặc nhiều tệp có thể được chỉ định, trong trường hợp đó jq sẽ đọc đầu vào từ những tệp đó.

Đang chạy:

jq file.json

thất bại bằng cách ném các lỗi biên dịch mà các khóa không được xác định.

Làm thế nào tôi có thể thêm các tập tin khi chạy jq?

Câu trả lời:


48
jq . file.json

là những gì tôi đang tìm kiếm. Tôi đã không nhận ra rằng đó .là một bộ lọc và không phải là một trình giữ chỗ cho nội dung:

.

Bộ lọc đơn giản tuyệt đối (và ít thú vị nhất) là .. Đây là một bộ lọc lấy đầu vào của nó và tạo ra nó không thay đổi làm đầu ra.

Và trang man làm rõ rằng bộ lọc là một đối số bắt buộc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.