pipe stdout-to-file с wc
Я работаю над назначением лаборатории для класса, который иллюстрирует users | wc -w
users | wc -w
отображая количество пользователей, которые в настоящее время вошли в систему. Инструктор попросил написать данные о выходе users
в файл ( users > file
), все еще отображая счет. Моя первоначальная мысль заключалась в том, чтобы изменить исходный пример, чтобы просто прочитать users > file | wc -w
users > file | wc -w
, но я получаю сообщение об ошибке:
ambiguous output redirect
Наша лаборатория Unix в нашем колледже работает по умолчанию в tcsh
, и я знаю, что команды могут отличаться между оболочками. Есть ли команда, которая может выполнить это, что я полностью забываю?
- Надежная идентификация пути к каталогу, содержащему запущенный скрипт
- Как убить беглого кота?
- установить псевдоним для каталога
- Вопросы по завершению tcsh
- ~ / .inputrc файл не работает правильно
- setenv из awk в tcsh
- Правильное определение многострочного приглашения в tcsh
- Что случилось с этим csh-файлом?
- Понимание команды «grep» показывает разные результаты, чем ожидалось
- Как получить часть имени пути и присвоить его переменной?
- вызов сценария из perl / python / ruby и получение вывода
- Как получить список ярлыков tcsh?
- Что особенного в printf над эхом
2 Solutions collect form web for “pipe stdout-to-file с wc”
Используйте tee
:
users | tee file | wc -w
Дает в качестве вывода количество пользователей, и он записывает файл с пользователями в качестве контента.
Случай в вашем вопросе :
command >file | command2
Это не сработает. С >file
вы перенаправляете вывод command
в файл file
и в то же время вывод записывается в анонимный канал, где команда command2
читается на другом конце. Это неоднозначное перенаправление.
Команда tee
принимает file
как аргумент, в котором tee
записывает все, что он получает со своего стандартного ввода. tee
также записывает все: от стандартного ввода до стандартного вывода, где вы можете перенаправить на дальнейшие команды или файлы.
Для этого есть команда; это называется tee
:
users | tee file | wc -w
PS. (Внешние) команды не различаются между оболочками; синтаксис перенаправления ввода и вывода изменяется.