-2

好的,我有一个包含两列数据的数据文件。它们是 RecordNumber 和 Notes。它们被管道隔开,看起来像这样。

Record1|1234567890 username notes notes notes notes 1254184921 username notes notes notes notes|

... 这持续了数千条记录。

使用 perl 脚本(可能还有一些正则表达式)我需要获取 notes 列并将其解析出来,以使 3 个新列用管道分隔以加载到表中。列必须是Note_Date|Note_Username|Note_Text.

注释列中的 10 位数字字符串是一个 unix 时间戳。我的第二个任务是将其转换为常规时间戳。请,任何帮助将不胜感激。

谢谢。

4

1 回答 1

0

您可能需要根据需要进行修改:

use strict;
use warnings;

while (<>) {
        my @a = split(/\|/);
        while ($a[1]=~/\s*(\d+)\s+(\w+)\s+([^0-9]*)/g) {
                my ($t, $u, $n) = ($1, $2, $3);
                $t = localtime($t);
                print $a[0], "|$t $u $n|\n";
        }
}
于 2012-08-14T20:03:58.717 回答