JQ: Wybierz wiele warunków

116

Mam plik json iw tej chwili używam select, aby uzyskać tylko dane spełniające jeden warunek, muszę filtrować na podstawie większej liczby warunków.

Na przykład:

.[] | select((.processedBarsVolume <= 5) && .processedBars > 0)

Jak mogę to zrobić?

Andrei Colta
źródło

Odpowiedzi:

260

jq obsługuje zwykłe operatory logiczne i / lub / nie, więc wyglądałoby to następująco:

.[] | select((.processedBarsVolume <= 5) and .processedBars > 0)
Hans Z.
źródło
65
świetnie, byłoby miło, gdybyś wtedy mógł przyjąć odpowiedź!
Hans Z.
2
jakiś powód dla dodatkowych szelek .processedBarsVolume <= 5?
ssc
6
Nie, po prostu utrzymałem różnicę z sugestią PO na odpowiednim minimum
Hans Z.
wydaje się mało prawdopodobne, aby kiedykolwiek dostał ukochany znacznik wyboru w tym momencie
JDS
2
Uwaga: w i / lub / nie jest rozróżniana wielkość liter. AND / OR nie działa.
Joseph Larson