конвейерный вывод из программ, которые не выводятся в STDOUT - PullRequest
1 голос
/ 02 февраля 2011

Скажем, у меня есть программа, которая выводит в файл, который предоставляется (обязательным) аргументом:

./foo -o bar.txt

Есть ли способ обмануть его в выводе в канал?Это просто выводит в файл с именем -.

./foo -o - | less

Ответы [ 3 ]

8 голосов
/ 02 февраля 2011

Вы можете использовать /dev/stdout в качестве имени файла:

./foo -o /dev/stdout | less
0 голосов
/ 02 августа 2013

другое решение, создайте именованный канал:

mkfifo /tmp/myfifo; ./foo -o /tmp/myfifo
</tmp/myfifo cat -
0 голосов
/ 02 февраля 2011

Это будет передавать содержимое файла bar.txt в фильтр по мере роста файла:

tail -f bar.txt | filter
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...