Вывести вывод терминала в gedit автоматически?

команда

time ./myprog 

отображает время, необходимое для запуска myprog на экране. Теперь я хотел бы записать эту информацию в текстовый файл.

Как?

4
задан 2 February 2017 в 11:18

2 ответа

Без пути time встроенная оболочка, и ее вывод не перенаправляется. Вместо этого вы можете использовать программу time, в /usr/bin/time которая запишет в stderr:

/usr/bin/time -p ./myprog 2> timing.txt && gedit timing.txt

Я добавил -p, так что вывод похож на вывод встроенного time в.

0
ответ дан 2 February 2017 в 11:18

Редактировать: Я должен был это проверить!

Кис очень прав. time является встроенной оболочкой в ​​большинстве случаев, поэтому ее вывод не проходит через STDOUT, как это обычно делают другие программы. Вы можете использовать сидячую версию команды, но чтобы сохранить два идентичных ответа (или я, удаляя мой), вот еще один способ захвата вещей, которые не выводятся традиционным способом.

bash -c "time ./myprog" 2>&1 > file.txt

Те же принципы, что и прежде, существуют. Если вы хотите, чтобы gedit загружался после этого, добавьте && gedit file.txt, если хотите добавить, замените > на >>.

Если ваша команда очень шумная и вам просто нужно время, вы можете запустить вывод через tail:

bash -c "time ./myprog" 2>&1 | tail -3 > file.txt && gedit file.txt

Старый ответ

Чтобы просто сохранить его для файла просто сделайте это:

time ./myprog > file.txt

Вам не нужно расширение .txt, но оно может вам помочь. Если вы хотите добавить файл (вместо его замены), замените > на >>.

Если вы хотите, чтобы это отображалось в gedit, вам нужно сохранить его в файл, а затем открыть в gedit. Я не вижу способа вставить текст прямо в gedit, не сохранив его сначала.

time ./myprog > file.txt && gedit file.txt
0
ответ дан 2 February 2017 в 11:18

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

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