Попытка втиснуть в заголовок все следующее было трудным делом, поэтому я действительно имею в виду следующее:
Я делаю tail -F access.log
чтобы посмотреть журнал Apache2 в режиме реального времени. Первое в каждой строке - это IP-адрес, за которым следует пробел. У меня также есть неизменный файл CSV, где каждая строка - это IP-адрес, запятая, имя. Например:
10.1.2.33,John Smith
10.1.2.190,Jane Doe
Доставляется: я хочу следить за своим журналом доступа, как и раньше, но если CSV-файл содержит строку с тем же IP-адресом, с которого начинается текущая строка файла журнала, то введите имя человека в начале строки.
Например, такая строка:
10.1.2.33 - - [22/Aug/2013:13:41:24 +0000] "GET /index.php ...
Вместо этого следует отобразить как:
John Smith 10.1.2.33 - - [22/Aug/2013:13:41:24 +0000] "GET /index.php ...
В идеале я хотел бы сделать это полностью, объединив несколько команд регулярных выражений. Пока что моя самая большая проблема заключается в том, что grep не принимает шаблон на stdin, он ожидает объект на stdin (если я что-то упустил). Кроме того, у меня нет проблем с преобразованием CSV в какой-то лучший формат при необходимости. Благодарю.