我需要将旧的 http 日志文件从我的 Domino 网络服务器导入到我的 piwik 跟踪中。如果用户登录,问题是日志的格式。正常/良好格式示例:
123.123.123 www.example.com - [17/Mar/2013:00:00:39 +0100] "GET /example.org HTTP/1.1" 200 3810 "" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 234 "" "example"
错误格式示例 - 如果用户登录则生成
123.123.123 www.example.com "CN=SomeUser/OU=SomeOU/O=SomeO" - [17/Mar/2013:00:00:39 +0100] "GET /example.org HTTP/1.1" 200 3810 "" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 234 "" "example
如果包含这些 CN 信息,我正在寻找一个单行 bash 来删除它。
更新:
这是我的解决方案,可以将多米诺骨牌日志文件导入 piwik。也许有一天有人发现了这个东西并且不需要翻转他的桌子
for i in `ls -v *.log`; do date && echo " bearbeite" $i && echo " " && awk '{sub(/ +"CN=[^"]+" +/," - ")}1' $i grep -v http.monitor | grep -v nagios > $i.cleanTmp && python /var/www/piwik/misc/log-analytics/import_logs.py --url=http://127.0.0.1/piwik --idsite=8 $i.cleanTmp --dry-run && rm $i.cleanTmp; done;