1

Тема: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

Если я пишу:

"программа.exe"  | find "искомое слово" > 1.txt

то всё строки, не содержащие "искомое слово",
я теряю (в консоли их не будет, и find не пропустит).

Посоветуйте, пожалуйста:
как послать вывод программы "программа.exe" ОДНОВРЕМЕННО
программе find и в консоль?

2

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

используя утилиту TEE из пакета Unix Utils

( 2 * b ) || ! ( 2 * b )

3

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

Или mtee.

Нас невозможно сбить с пути, нам пофигу куда идти.

4 (изменено: DnsIs, 2010-12-10 09:32:10)

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

А так?

"программа.exe" | mtee log.txt | find "искомое слово"
Нас невозможно сбить с пути, нам пофигу куда идти.

5

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

программа.exe|tee.exe|find.exe "искомое слово"

И проверьте, что Вы пользуете именно «c:\windows\system32\find.exe», а не лежащий рядом с «tee.exe» юниксовский «find.exe», возможно распакованный из общего комплекта «UnxUtils».

6 (изменено: mih, 2010-12-10 10:56:16)

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

Всё работает.
Очень виноват, пока ставил опыты, незаметно пропал значок ">"

Правильный код:

"программа.exe"  | tee  con |  find "искомое слово" > 1.txt

Та же строка, но с mtee — в конвейер информация идёт, в консоли  — пусто.

Если написать:
"программа.exe"  | tee  con    — вывод в консоли дублируется (это вроде понятно)
"программа.exe"  | mtee  con  — вывод самый обычный (это подозрительно)

Так что tee — понадёжнее будет.

Простите, что зря потревожил.

7

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

Почему же зря. Как бы невзначай выяснили, что "...что tee — понадёжнее будет."
И вам спасибо.

Нас невозможно сбить с пути, нам пофигу куда идти.

8

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

mih пишет:

Правильный код:

«con» — лишнее.

9 (изменено: mih, 2010-12-11 07:14:22)

Re: CMD/BAT: перенаправление вывода одновременно: в консоль и в конвейер

Нет, не лишнее.
Без con в консоли будет
Т И Ш И Н А.

Так что лишнее будет — NUL !

Документация врёт,
зато есть недокументированная возможность.

А вот оказывается:
"Note: When tee is used with a pipe, the output of the previous command is written to a temporary file, displays the output, and writes it to the file(s) given as command-line argument."

Неужели на диск записывает, прежде чем передать find?
У меня вроде в реальном времени find выдаёт результат.