将linux日志转换为csv

时间:2015-03-06 02:37:34

标签: linux bash csv logging

我是linux上的新手。我很抱歉再次提出这个问题。但如果有人可以帮助我,我真的很感激。我在如何将我的linux日志转换为 csv 文件方面遇到麻烦,以获得更高的可读性。

我的apache日志如下:

[Sun Mar 01 06:01:30 2015] [error] [client 123.456.789.012] File does not exist: /var/www/html/

我如何按栏分隔,使用:日期( Sun Mar 01 06:01:30 2015 ),IP( 123.456.789.012 )仅IP,错误消息(文件不存在)和目标( / var / www / html / )?

谢谢

1 个答案:

答案 0 :(得分:1)

在shell脚本中有很多方法可以实现它。将详细描述该方法,并将给出一个示例示例。

您必须识别分隔字符串的分隔符,并且您可以使用awk或sed命令根据分隔符对字段进行分区

例如在你的情况下,你可以将']'视为使用delimiter命令来分隔行的分隔符,如下所示:

cat logfile | awk -F']' '{print "$1, $2, $3"}' > new_log_file.csv