Я знаю, что могу использовать tee, но я не хочу, чтобы вывод был на экран; я хочу, чтобы он был напечатан только в файл.
Пример:
ls > pk.txt
Теперь необходимо создать еще один файл с именем praveen.
решение1
Используйте tee(1)
для записи в два файла и сброса stdout:
ls | tee pk.txt praveen >/dev/null
Редактировать2:Как отметили Стефан и Томас, из-за особенностей tee
работы эта версия является лучшей и приводит к меньшему количеству записей:
ls | tee pk.txt > praveen
решение2
С zsh
:
ls > file1 > file2
(внутренне zsh
создает канал и порождает процесс, который считывает данные из этого канала и записывает их в два файла, как и tee
положено. ls
stdout — это другой конец канала).