2016-04-25 5 views
1

Журналы для моей работы выводятся с помощью | вместо новой строки, что делает их невероятно трудными для чтения. Теперь я копирую и вставляю их в vim и запускаю :%s/|/\r/g, чтобы заменить все трубы новой строкой.Изменение вывода `tail -f` в реальном времени

Мне бы хотелось сделать это в режиме реального времени в выводах журналов tail -f. Поэтому вместо того, чтобы копировать и вставлять его (или запускать sed в файле журнала), я мог бы просто прочитать журналы сразу же, как они записаны в файл, при этом разделитель труб заменяется новыми строками.

Есть ли способ сделать это? (Я не могу изменить разделитель строки для вывода журнала)

ответ

1

Я думаю

tail -f <log file> | tr \| \n | less 

или некоторые такие могли бы работать. Могу немного поиграть.

+1

хвост -f | tr \ | '[\ n *]', похоже, работает. Удивительно, спасибо – Trevor

2

Вы можете конвейеру tail -f выход в sed и запустить тот же регулярное выражение вы столкнетесь с vim (маскирование) добавил:

tail -f file | sed -e s/\|/\\n/g - 
Смежные вопросы