일부 JSON을 파이핑하여 테스트에서 와일드카드를 사용할 수 있도록 하고 싶습니다 select()
.
curl example.com/json | jq 'select(.[].properties.type == "dev*")'
dev
예를 들어 development
, 로 시작하는 모든 유형을 인쇄할 것으로 예상했지만 그렇지 않습니다 devel
.devil
select()
에서 와일드카드를 사용할 수 있습니까 jq
?
답변1
당신은 고려할 수도 있습니다에 의해. . 시작()기능. 귀하의 예를 사용하여 :
curl example.com/json | jq '.[].properties | select(.type | startswith("dev"))'
답변2
사토 카츠라가 보여준 것처럼, 다음 유형의 모든 속성의 예를 얻으려고 합니다.에 의해. . 시작문자열은 표현식의 dev
소유입니다 .jq
.[].properties | select(.type | startswith("dev"))
그러나 보다 세부적인 일치를 위해 정규식을 사용할 수 있습니다.test
기능:
.[].properties | select(.type | test("^dev"))
이 jq
유틸리티는 다음과 같이 표현되는 PCRE 스타일의 정규식을 사용합니다.Oniguruma 정규식 라이브러리(위키피디아 링크).