Linux, как использовать tee в piped команде - PullRequest
1 голос
/ 05 марта 2012
time curl http://www.google.com | tee | wc | gzip > google.gz

Почему эта команда не работает?Он создает файл и время операции, но не печатает количество строк, слов и символов (wc).

time curl http://www.google.com | tee | wc 

При этом будут печататься слова, буквы и строки, но, очевидно, часть тройника бессмысленна.

Это потому, что я посылаю количество слов URL в google.gz?

Мне нужно использовать tee, gzip, time, curl, чтобы загрузить веб-страницу Google в файл gziped, напечатать количество слов, сколько времени понадобилось.Я не ищу кого-то, чтобы сделать это для меня.У меня просто проблема в том, что я не могу использовать утилиту, и я не могу и gzip одновременно.

Может быть, есть способ использовать gzip с curl?

Ответы [ 3 ]

3 голосов
/ 05 марта 2012

Ну, wc выводит количество символов, слов и строк, но затем вы отправляете его на gzip, который сжимает его. В конце концов сжатая информация заканчивается в google.gz. Если вы распакуете файл, например, с

gunzip google.gz

вы увидите три цифры.

Кроме того, обычно, когда кто-то использует tee, они указывают файл, в котором предполагается хранить данные тройника.

1 голос
/ 10 июня 2015

time curl http://www.google.com | tee /dev/tty | gzip > google.gz

1 голос
/ 05 марта 2012

Я собираюсь догадаться, что что-то вроде этого - то, что вы хотите:

time curl http://www.google.com | tee /tmp/z | gzip > google.gz; wc /tmp/z; rm /tmp/z
...