Я хотел бы заменить первый символ ' x ' числом ' 7 ' в каждой строке файла журнала, используя сценарий оболочки. Пример файла журнала:
216.129.119.x [01/Mar/2010:00:25:20 +0100] "GET /etc/....
74.131.77.x [01/Mar/2010:00:25:37 +0100] "GET /etc/....
222.168.17.x [01/Mar/2010:00:27:10 +0100] "GET /etc/....
Мои скромные начинания ...
#!/bin/bash
echo Starting script...
cd /Users/me/logs/
gzip -d /Users/me/logs/access.log.gz
echo Files unzipped...
echo I'm totally lost here to process the log file and save it back to hd...
exit 0
Почему IP файла журнала искажается так? Мой веб-провайдер (1and1) принял решение не сохранять IP-адрес, поэтому они заменили последний номер на символ «x». Они сказали мне, что это новое требование по закону. Я лично думаю, что это bs, но это отвлечет нас от темы.
Я хочу обработать эти файлы журналов с помощью AWstats, поэтому мне нужен IP-адрес, который не искажен. Я хочу заменить x на 7 , вот так:
216.129.119.7 [01/Mar/2010:00:25:20 +0100] "GET /etc/....
74.131.77.7 [01/Mar/2010:00:25:37 +0100] "GET /etc/....
222.168.17.7 [01/Mar/2010:00:27:10 +0100] "GET /etc/....
Не идеально, я знаю, но, по крайней мере, я могу обработать файлы, и я все еще могу получить много полезной информации, такой как страна, количество посетителей и т. Д. Размер файла журнала составляет 200 МБ каждый, поэтому я подумал, что сценарий оболочки путь, потому что я могу сделать это быстро на моем MacBook Pro на месте. К сожалению, я очень мало знаю о сценариях оболочки, и мои навыки работы с javascript на этот раз не помогут. Я ценю вашу помощь.