-2

わかりました、2 列のデータを含むデータ ファイルがあります。それらは RecordNumber と Notes です。それらはパイプで区切られており、このように見えます。

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

... これは、何千ものレコードに適用されます。

perl スクリプト (および場合によっては正規表現) を使用して、メモ列を取得して解析し、パイプで区切られた 3 つの新しい列を作成してテーブルにロードする必要があります。列は である必要がありますNote_Date|Note_Username|Note_Text

メモ列全体の 10 桁の数字列は UNIX タイムスタンプです。私の 2 番目のタスクは、これを取得して通常のタイムスタンプに変換することです。よろしくお願いします。

ありがとう。

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 に答える