Tôi đang cố gắng tạo tập lệnh shell sẽ tìm nạp url hình ảnh cho một truyện tranh XKCD ngẫu nhiên, để tôi có thể hiển thị nó bằng cách sử dụng Übersicht. Vì bạn chỉ có thể yêu cầu API XKCD cho truyện tranh mới nhất hoặc một truyện tranh cụ thể tôi cần phải:Phân tích cú pháp câu trả lời json curl và sử dụng phản hồi để xây dựng một yêu cầu khác
- Gửi yêu cầu
GET
đểhttp://xkcd.com/info.0.json
, lấy giá trị của phần tửnum
. - Gửi yêu cầu khác đến
http://xkcd.com/XXX/info.0.json
trong đóXXX
là giá trị củanum
.
lệnh hiện tại của tôi trông như thế này và thành công trả về số truyện tranh:
curl -s 'http://xkcd.com/1510/info.0.json' | grep -Eo '"num": \d+' | grep -Eo '\d+'
- tôi đã không thể tìm ra cách để sử dụng các nhóm chụp với
grep
, vì vậy tôi cần phải grep json hai lần. Lời khuyên chung là sử dụng-P
, không được hỗ trợ trong Mac OS X 10.10. - Tôi không biết cách đọc đầu ra của grep (như
XXX
) vào lệnh thứ haicurl -s 'http://xkcd.com/XXX/info.0.json'
.
Điều này làm việc tuyệt vời trong Thiết bị đầu cuối, vì vậy tôi chấp nhận nó. Cảm ơn, công việc tuyệt vời. Bây giờ tôi chỉ cần làm cho nó hoạt động trong Übersicht - tôi nhận được một chuỗi 'octal escape sequence'. –
@SamuelLindblom Tôi không thể thấy bất kỳ chuỗi thoát bát phân nào trong các lệnh của tôi. Và tôi không sử dụng Übersicht - bạn có thể giải thích bước nào sai chi tiết không? (Nếu bạn không chắc chắn, bạn có thể chia nhỏ đường dẫn và thử nghiệm riêng.) – 4ae1e1