Объединение команды tail и sed и перенаправление их в новый файл

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

я использую

(sed -e '/s/^/192.168.12.1' /logs/a.log; tail -f /logs/a.log) > b.log
tail -f b.log

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

2 ответа

Я получил ответ. Я получаю свой шаблон, используя код:

tail -f '/logs/alog' | sed 's/^/'192.168.12.1'/' >> b.log
tail -f b.log


sed --unbuffered -e 's/^/192.168.12.1/' /logs/a.log >> b.log
tail -f b.log

должно быть достаточно, если вы хотите файл, но просто

sed --unbuffered -e 's/^/192.168.12.1/' /logs/a.log

будет работать нормально

licensed under cc by-sa 3.0 with attribution.