Можно ли выводить вывод на терминал при записи вывода команды в файл? [Дубликат]

У этого вопроса уже есть ответ здесь: Как я регистрирую все входные и выходные данные в сеансе терминала? 3 ответа

Я запускаю команду say nmap www.somesite.com>file.txt, чтобы я мог получить вывод в файл .txt. Но если я это сделаю, я не смогу увидеть вывод этой команды на терминале. Возможно ли это сделать и на терминале.

Я знаю использование tee, но я хочу сделать это специально таким образом.

1
задан 11 December 2014 в 15:50

2 ответа

tee предназначен для разделения STDIN на файл и возврата в STDOUT.

Простыми словами просто пропустите его так:

nmap www.somesite.com | tee file.txt

Текущая принятая альтернатива включает в себя запуск nmap дважды, что является ужасной идеей. Вам лучше было бы запустить его один раз для файла и затем вывести файл.

nmap www.somesite.com > file.txt; cat file.txt
3
ответ дан 24 May 2018 в 01:06
  • 1
    Пожалуйста, прочитайте вопрос полностью. Я искал ответ, кроме tee. В любом случае, спасибо ;) – Anandu M Das 11 December 2014 в 16:16
  • 2
    Если вам не нужен тройник, пожалуйста, объясните , почему или то, что вы на самом деле пытаетесь сделать. В противном случае это Ask Ubuntu, Ubuntu отправляет tee, поэтому tee всегда является опцией здесь. – Oli♦ 11 December 2014 в 16:41

Именно это означает tee. Почему вы не хотите использовать это?

Альтернативой может быть захват вывода и повторение его дважды:

output=$(nmap localhost)
echo "$output"
echo "$output" > somefile.txt

Однако в специальном случае nmap вы можете воспользоваться его выходным параметром -ox :

      OUTPUT:
         -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,
            and Grepable format, respectively, to the given filename.

Например:

nmap -oN somefile.txt localhost

Кажется, нужно сделать именно то, что вы хотите: вывести на терминал и также записать в файл. [ ! d5]

1
ответ дан 24 May 2018 в 01:06

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

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