Как сохранить вывод интерактивной программы командной строки в Unix-подобной оболочке? - PullRequest
3 голосов
/ 03 марта 2011

Я пишу на C и запускаю программы в терминале Linux.Я хочу сохранить вывод программы в файл .txt.Я обычно делаю это, выполняя ./a.out>filename.txt

Но я написал интерактивную программу, в которой мне нужно ввести номер, чтобы запустить программу.В таком случае, как мне это сделать?

Большое спасибо, и ваши ценные предложения приветствуются.

Ответы [ 4 ]

6 голосов
/ 03 марта 2011

Переместить требование для ввода числа из терминала в параметр командной строки.

./a.out 42 > filename.txt

Или, проще, принять вход от перенаправленного входа

echo 42 | ./a.out > filename.txt
./a.out < input.txt > filename.txt
5 голосов
/ 03 марта 2011

Вы можете использовать script для захвата всего вывода в файл.

$ man script

5 голосов
/ 03 марта 2011

Попробуйте это

./a.out | tee filename.txt

Tee man page

1 голос
/ 24 февраля 2014

При условии, что вы ввели номер, который хотите передать программе, в файле с именем 'input.txt'.Если вы хотите перенаправить вывод в файл «output.txt», введите в командной строке:

./a.out  <  input.txt  >  output.txt
...