Bash ve zsh'de (ve belki de diğer kabuklarda), anında bir dosya oluşturmak için işlem ikamesini ( Bash / zsh ) kullanabilir ve daha sonra bunu boru hattı zincirindeki bir sonraki işleme girdi olarak kullanabilirsiniz.
Örneğin, jqve kullanarak cURL JSON çıktı ayrıştırmaya çalışıyordu less, ama Failed writing bodyhata alıyordu .
# Note: this does NOT work
curl https://gitlab.com/api/v4/projects/ | jq | less
Süreç ikamesi kullanarak yeniden yazdığımda işe yaradı!
# this works!
jq "" <(curl https://gitlab.com/api/v4/projects/) | less
Not: jqbir girdi dosyası belirtmek için 2. bağımsız değişkenini kullanır
Bonus: kullanıyorsanız jqbenim gibi ve istediğiniz colorized çıktı tutmak içinde less, yerine aşağıdaki komut satırını kullanın:
jq -C "" <(curl https://gitlab.com/api/v4/projects/) | less -r
( Neden gerçekleştiğine dair açıklamalarından dolayı Kowaru'ya teşekkürler . Ancak, iki kez kullanma çözümleri benim için işe yaramadı. Ayrıca büyük dosyalar için daha iyi ölçeklenecek ve yorum olarak belirtilen diğer sorunlardan kaçınmaya çalışan bir çözüm bulmak istedim. bu cevaba.) Failed writing bodytac