Различия между губкой и тройником

Выполняя некоторую работу, я нашел эту команду "губки", которая делает то же самое, что и "tee", но не может найти, когда лучше использовать ту или иную. Может ли кто-нибудь объяснить мне?

Ответ 1

Никто из них не впитывает stderr; только stdout. ' tee' записывает stdin на stdout и файлы. ' sponge' записывает stdin только в файл; без ошибок, без вывода. (т.е. в отличие от " tee", " губка" не записывается на stdout). Кроме того,

"губка впитывает весь свой вход перед открытием выходного файла

(из его руководства)

Это различие между ними крайне важно: " tee" "читает байт" и "пишет этот байт"; ' губка' ждет получения всего ввода, а затем записывает его.

Полезно читать страницы руководства.