Nie mogę sprawić, by jq
zachowywał się "normalnie" w powłoce potoku. Na przykład:Jak używać `jq` w powłoce potoku?
$ curl -s https://api.github.com/users/octocat/repos | jq | cat
skutkuje jq
prostu drukując jego pomocą tekstu *. To samo dzieje się, gdy próbuję przekierować wyjście jq
„s do pliku:
$ curl -s https://api.github.com/users/octocat/repos | jq > /tmp/stuff.json
Czy jq
celowo ratowanie jeżeli stwierdzi, że nie jest prowadzony z terminala? Jak mogę zapobiec takiemu zachowaniu, aby móc używać jq
w potoku?
* (zdaję sobie sprawę, przykład ten zawiera useless use of cat, jest to jedynie ilustracja)
Dlaczego rura do "kot"? Czy to naprawdę konieczne? –
Zostawiłem to, ponieważ OP miał to; Zakładam, że to tylko symbol zastępczy, który wskazuje, że 'jq' zarówno czyta z fajki, jak i pisze do innej rury. Jeśli pożądaniem jest po prostu zobaczenie wyjścia 'jq', to' cat' sam w sobie jest niepotrzebny. – chepner
(1) jq wersja 1.5 została ulepszona tak, że. w takich przypadkach jest niepotrzebne. (2) Nie ma potrzeby cytowania ".". – peak