команда
time ./myprog
отображает время, необходимое для запуска myprog на экране. Теперь я хотел бы записать эту информацию в текстовый файл.
Как?
Без пути time
встроенная оболочка, и ее вывод не перенаправляется. Вместо этого вы можете использовать программу time
, в /usr/bin/time
которая запишет в stderr:
/usr/bin/time -p ./myprog 2> timing.txt && gedit timing.txt
Я добавил -p
, так что вывод похож на вывод встроенного time
в.
Редактировать: Я должен был это проверить!
Кис очень прав. 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