0

我对 Perl 一无所知。我查看了一些在线教程,但对以下内容不知所措。

我在 PostgreSQL 中进行查询,保存到 CSV 文件。但是,在创建 CSV 文件后需要更改一个元素,我不知道该怎么做。

现有的查询结果是这样的

phone        date      time     staff email and customer ID -- my explanation 

1112223333,10/21/2013,3:00 AM,sklund@myemail.comSMIB010170 -- data in csv

查询完成后,必须将时间字段中的数据转换为:

1112223333,10/21/2013,03:00am,sklund@myemail.comSMIB010170

如您所见,0如果小时小于十,则需要将时间修改为包含 a,并且AM必须将 更改为am

有没有一个简单的 Perl 脚本可以做到这一点?当然,数据行会有所不同,因为每一行都会反映当天的查询结果。

如果有人可以为我提供教程、链接或帮助,我将不胜感激。

4

1 回答 1

1

这将满足您的需求。

我假设您也想要AM删除之前的空间?你没有在你的问题中提到它。

perl -pe 's/,(\d{1,2}):(\d\d)\s+([AP]M),/sprintf ",%02d:%02d%s,",$1,$2,lc $3/ei' mylogfile > newlogfile
于 2013-10-20T01:45:26.753 回答