내 프로그램은 작업 목록이 포함된 필드가 있는 개체 인 를 반환 JSON
합니다 . 각 작업에는 다음 과 같은 필드가 포함됩니다.stdout
operations
id
{
"operations": [
{
"id": "694ef895-793f4631-41103e8-8ab59e66",
나는 그것에서 ID 목록을 얻으려고 노력하고 있습니다 jq
.
내가 글을 쓰고 있다면
jq '.operations | .[] | .id'
내가 글을 쓰면 효과가 있다
jq '.operations | .[].id'
그것도 작동합니다.
즉, 병치는 여기와 같습니다 |
.
하지만 내가 쓴다면
jq '.operations.[].id'
메시지와 함께 실패합니다
jq: 오류: 구문 오류, 예상치 못한 '[', FORMAT 또는 QQSTRING_START 필요(Unix 쉘 인용 문제?), 줄 1: .Operations.[].id jq: 1 컴파일 오류
이유와 해결 방법은 무엇입니까?
답변1
.foo.bar
합계 만 비교하는 한 |
매뉴얼 페이지의 "기본 필터"에 명시된 대로 차이가 없습니다.
형식의 필터는
.foo.bar
와 동일합니다.foo|.bar
.
예, 귀하의 .operations[].id
경우에는 그것이 필요합니다.