Проверить ход тихой команды терминала при записи файла? - PullRequest
2 голосов
/ 16 июня 2011

Не совсем уверен, возможно ли это, но я запускаю это на Терминале:

script -q \/my\/directory\/\/$outfile \.\/lexparser.csh $file

Объяснение

С помощью сценария Perl. Первый каталог и $outfile - это место, где я сохраняю вывод команды Terminal. \.\/lexparser.csh $file просто вызывает этот скрипт для работы с входным файлом, $file.

Задача

Однако я поставил -q b / c. Я не хотел сохранять ненужную печать в файл. Файл большой ~ 30 тысяч строк текста. Уже некоторое время он работает, что и ожидалось.

Вопрос

Я хотел бы проверить и убедиться, что все идет гладко. Имя выходного файла в Finder, но, боюсь, если я нажму на него, он испортит вывод. Как можно проверить прогресс (возможно, текущий текстовый файл), не прерывая процесс?

Спасибо за ваше время, дайте мне знать, если вопрос неясен.

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Откройте новый терминал, перейдите к выходному каталогу и:

tail -f <output_file>

Вы продолжите видеть новые добавления в файл без прерывания какого-либо процесса записи.Просто оставьте Терминал открытым с включенным tail, и вы сможете смотреть его весь день.Возьмите немного попкорна.

В дополнение к tail , вы также можете узнать о tee .Смысл tee - выводить в файл, а также выводить на STDOUT в вашем терминале.Лучшее из обоих миров!Ну, у кого-то хорошие аспекты двух возможных миров.

1 голос
/ 16 июня 2011

Вы можете tail файл через командную строку, что не должно вызывать проблем.

Кроме того, вы можете распечатать программу до stderr, а также stdout, перенаправить stdout в файл и пропустить stderr, чтобы он мог сообщить вам о своем прогрессе. Хотя это больше 20/20 задним числом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...