Выполняя некоторую работу, я нашел эту команду "губки", которая делает то же самое, что и "tee", но не может найти, когда лучше использовать ту или иную. Может ли кто-нибудь объяснить мне?
Различия между губкой и тройником
Ответ 1
Никто из них не впитывает stderr; только stdout. ' tee' записывает stdin на stdout и файлы. ' sponge' записывает stdin только в файл; без ошибок, без вывода. (т.е. в отличие от " tee", " губка" не записывается на stdout). Кроме того,
"губка впитывает весь свой вход перед открытием выходного файла
(из его руководства)
Это различие между ними крайне важно: " tee" "читает байт" и "пишет этот байт"; ' губка' ждет получения всего ввода, а затем записывает его.
Полезно читать страницы руководства.