1

Я хотел бы показать содержимое файла, а также вычисленную cksum файла сразу, почему следующая команда выводит только файл - но не cksum?

sudo cat filename | tee cksum

Я знаю, что мог бы использовать sth вроде f=filename; sudo cat $f; sudo cksum $f но я бы предпочел использовать тройник или что-то подобное, если это возможно.

2 ответа2

2

Причина, по которой ваша команда не показывает контрольную сумму, заключается в том, что вы фактически пишете в файл с именем cksum и печатаете его в stdout, вместо того, чтобы печатать его в stdout и передавать его фактической команде chksum.

Вместо этого вы можете использовать tee, чтобы записать его в файл tty (ваш терминал) и использовать стандартный вывод для chksum, как показано ниже:

sudo cat filename | tee /dev/tty | cksum

Источник из Stackoverflow

-1

Разве вы не имели в виду:

sudo cat filename | tee file-name | cksum

Чтобы повторить имя файла, tee не команда , которую вы хотите.

Попробуйте: cat filename && cksum $_

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .