почему эта команда с помощью канала не работает?

Почему делает find . | cat работы (печатающий все имена файлов), но find . | file -i не работает на показ всего типа пантомимы файлов?

не был должен это работать, так как существует вывод от find . и вход от file -i?

(Извините, если это - глупый вопрос, я - новичок, использующий удар, и я не мог бы найти другой вопрос, который мог объяснить это мне),

0
задан 29 May 2019 в 17:45

1 ответ

Для канала команда с правой стороны считывает данные в своем стандартном канале. Команда file требует, чтобы файлы были аргументами командной строки, а не данными на stdin.

Это именно то, для чего предназначена команда xargs: читать из stdin и предоставлять данные в качестве аргументов командной строки:

find . | xargs file -i

Или , используйте -f опция для file:

find . | file -i -f -

Прочтите справочные страницы для более подробной информации.

0
ответ дан 29 May 2019 в 17:45

Другие вопросы по тегам:

Похожие вопросы: