Как добавить метку времени в каждой строке вывода grep? - PullRequest
0 голосов
/ 13 февраля 2020

У меня запущен длительный процесс, и я хочу отслеживать использование его оперативной памяти. Я могу сделать это, наблюдая за top. Однако я хотел бы иметь возможность выйти и записать запись, каждую минуту, скажем, на общее дисковое пространство.

Мое решение, которое работает:

nohup top -b -d 60 -p 10036|grep 10036 >> ramlog.txt &

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

Я знаю о screen и tmux, но хотел бы, чтобы этот простой однострочный работал.

1 Ответ

3 голосов
/ 13 февраля 2020

Вы можете добавить al oop, который читает каждую строку из grep и добавляет дату. Убедитесь, что вы используете grep --line-buffered, чтобы каждая строка печаталась без задержки.

nohup top -b -d 60 -p 10036 |
    grep --line-buffered 10036 |
    while read line; do echo "$(date): $line"; done >> ramlog.txt &
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...