Я вижу, что мой контент обрезается при использовании канала в такой последовательности, как:
jq ... |
jq ... |
tee tee_file |
jq ... |
# content gets truncated here
head ... | sed ... | awk ... | awk ... | sed
... но все работает нормально, если я перенаправляю вывод в промежуточный файл, а затем сразу передаю этот файл в нисходящий потокпроцессы:
jq ... |
jq ... |
tee some_file |
jq ... > intermediary_file
# content remains intact here
cat intermediary_file |
head ... | sed ... | awk ... | awk ... | sed
tee_file
не используется в качестве входных данных в нисходящей части вышеуказанной последовательности трубопроводов, только в некоторых более поздних командах.
Использование --unbuffered
в jq
не помогает.
Каковы причины такого различия в поведении и как я могу это исправить?
MacOS High Sierra 10.13.6 (17G5019) GNU bash, версия 3.2.57 (1) -релиз (x86_64-apple-darwin17)