Отслеживаю логи через tailf (tail -f). Для удобства отображения хотелось бы после каждой строки добавлять пустую строку.
Например:
$ tailf /var/log/some.log
log1
log2
log3
$ tailf /var/log/some.log | magic
log1
log2
log3
Пробовал через sed двумя способами, но получаю то же без изменений. Идея в том, чтобы поматчить перенос строки и заменить его на два переноса. Общий синтаксис такой: sed 's/substitute_this/to_this/g'
Способ 1: вставить перенос строки как $'
'
$ tailf /var/log/some.log | sed "s/$'
'/test/g"
log1
log2
log3
Похоже, что $'
' не матчится на переносы строк в моем логе.
Способ 2: вставить перенос строку как перенос строки при вводе команды:
$ tailf /var/log/some.log | sed "s/
> /test/g"
sed: -e expression #1, char 2: unterminated `s' command
$ tailf /var/log/some.log | sed "s/\
/test/g"
sed: -e expression #1, char 0: no previous regular expression
Если бы это был shell-скрипт, можно было бы использовать хак
newline='
'
Но я-то хочу "на ходу" использовать. Сделать фукцию или alias тоже не подойдёт, т.к. я работаю с большим количеством хостов и не имею возможности индивидуально настраивать .bashrc
Собственно, вопрос: что должно быть на месте magic?
Ответ
Еще вариант с sed:
tailf foo.log
init.lxc 1455930731.917 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
init.lxc 1455930758.674 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
init.lxc 1455986152.381 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
init.lxc 1455986234.349 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
tailf foo.log | sed 'a\ '
init.lxc 1455930731.917 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
init.lxc 1455930758.674 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
init.lxc 1455986152.381 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
init.lxc 1455986234.349 ERROR lxc_initutils - initutils.c:mount_fs:36 - failed to mount /proc : Device or resource busy
Комментариев нет:
Отправить комментарий