jq의 빈 어레이를 적절하게 삭제하는 방법
오라일리의 새 "명령줄에서 데이터 과학"을 읽고 있는데 jq 사용에 문제가 생겼습니다.JSON(NYTimes 기사 API에서 반환됨)을 jq로 다음과 같이 해석하고 있습니다.
jq -c \
'[.response.docs[] | {date: .pub_date, type: .document_type, title: .headline.main }]' \
< myjsonfile.json
따라서 "response":"docs"(어레이)를 찾고 해당 배열의 모든 항목을 "pub_type" 등으로 대조하여 이름을 변경하는 등의 작업을 수행합니다.이 방법은 잘 작동하지만 마지막에 빈 어레이가 추가됩니다.
[{"date":"2009-01-02T00:00:00Z","type":"article","title":"SPARE TIMES: AROUND TOWN"},
{"date":"2009-01-02T00:00:00Z","type":"article","title":"Catskill Home Prices: How Low Will They Go?"},
{"date":"2009-01-01T00:00:00Z","type":"article","title":"Ominous Cutbacks At Chanel"}]
[]
빈 어레이를 삭제하려면 어떻게 해야 하나요?현시점에서는 출력을 jq로 되돌리는 것이 해결책입니다만, 실제로는 최적이 아닌 것 같습니다.이 방법은 다음과 같습니다.
jq -c \
'[.response.docs[] | {date: .pub_date, type: .document_type, title: .headline.main }]' | \
< myjsonfile.json |
jq 'if length > 0 then . else empty end'
하지만 그건 추하게 느껴져요.더 좋은 방법은 없을까?
를 사용합니다.select여기서 length > 0 입니다.
select(length > 0)
언급URL : https://stackoverflow.com/questions/26195214/how-to-nicely-remove-empty-array-in-jq
'programing' 카테고리의 다른 글
| 이 Rails JSON 인증 API(Gand 사용)는 안전한가요? (0) | 2023.03.26 |
|---|---|
| 하위 폴더에 Nginx 다시 쓰기(404) (0) | 2023.03.26 |
| docker-compose를 사용하여 mongo 데이터베이스를 시드하려면 어떻게 해야 합니까? (0) | 2023.03.26 |
| 리액트 렌더 함수로 비동기화하는 방법 (0) | 2023.03.26 |
| Wordpress 프로젝트에 .gitignore 파일에서 가장 적합한 설정은 무엇입니까? (0) | 2023.03.26 |