Можете ли вы префикс каждой строки, написанной с tee с текущей датой и временем?

Я использую команду 'tee', чтобы записать результаты длинной команды bash в файл.

файл я передаю с тройником как-то помечать каждую строку с меткой времени, когда линия была написана? Я ищу решение, в котором каждая строка будет иметь другое значение даты и времени... не то же самое значение с префиксом в каждой строке.

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

8
задан user2917346
20.11.2022 14:22 Количество просмотров материала 2457
Распечатать страницу

1 ответ

если tee не может что-то сделать, передайте это программе, которая это делает. moreutils имеет инструмент с именем ts чья цель именно в этом:

$ echo test | ts
Feb 02 13:17:27 test

если вы хотите метка все использование должно быть очевидно:

myapp | ts | tee app.log

другие комбинации возможны; например, для временной метки только вывод экрана или только лог-файл:

myapp | tee app.log | ts
myapp | tee >(ts > app.log)
myapp | tee /dev/tty | ts > app.log
myapp | pee "ts > app.log" "cat"
myapp | pee "cat > app.log" "ts"

(Да, последнее тоже от moreutils.)

3
отвечен grawity 2022-11-21 22:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх