Я хочу сделать несколько простых вычислений количества строк в минуту, добавленных в файл журнала.
Я хочу также хранить счет за каждую секунду.
Что мне нужно, так это вывод следующей команды в виде списка, который будет обновляться каждую секунду:
watch -n1 'wc -l my.log'
Как вывести «update» команды «watch» в виде списка?
wait
- просто попробуйтеwatch -n 1 "sleep 5"
.watch
было полезно, но оно не дает вам даже этого, поэтому ваше решение столь же хорошо, как и решение на основе часов, но ни одно из них не отвечает на вопрос « насколько быстро растет файл журнала» с большой точностью.watch
есть-p
опция, которая сделает это правильно, если это вообще возможно (очевидно, вы не можете выполнить команду, которая занимает 5 секунд каждую 1 секунду, если вам не разрешено многократное одновременное выполнение). Я знаю, я написал это :-PСтарый вопрос, но я нашел очень простой ответ:
Это будет выполнять
wc
каждую секунду, добавлять свои выходные данные в файл statistics.log, а также отображать его на экране.Итак, вы получите файл, заполненный числами, представляющими последовательное количество строк
my.log
.источник
watch "($MYCMD | tee -a $MYLOG)"
, нетwatch "($MYCMD)" | tee -a $MYLOG
. Если вы ошиблись, как я, результат будет очень запутанным. Еще одна вещь, на которую следует обратить внимание, это то, что эта команда не добавляет метку времени выполнения каждой команды по умолчанию, поэтому ответ с циклом может все же работать лучше для вас.Как насчет
источник
Попробуйте следующее:
источник
Я столкнулся с этим вопросом, когда пытался получить лучший / зарегистрированный вывод
du -sh $data_path
. Я использовал шаблон "while command, do sleep", найденный здесь, но использовал какой-то сложный AWK, чтобы получить желаемый результат.На самом деле я сделал это как вкладыш, поэтому есть точки с запятой. Но чтобы сделать его читабельным, я разбил его. Вывод выглядит так:
источник
Вы можете создать скрипт, который сделает это за вас. Я назвал мой
keep
(как, продолжай делать это) и положил его наbin
путь.Это мой сценарий:
источник
"$@"
для выполнения команды (аргументы), а не без кавычек$*
. Таким образом, оболочка будет хранить аргументы в кавычках и т. Д., Как и ожидал пользователь. FTFY.