[pgsql-jp: 39048] Re: ログからのSQL文の抽出
utsumi
takashi @ pat.hi-ho.ne.jp
2008年 1月 1日 (火) 23:44:23 JST
鈴木さん、こんにちは。
内海です。
年末にバタバタしていて返事が遅れました。
> 複数行になっている部分を単一行に戻すのがスジかなと思います。
>
> ということで、「先頭に空白文字が入った行は前の行の続きである」と見なし、
> それを「空白文字1つ」へ置換してしまえば良いのではないかと。
>
> 例えばこんな感じのスクリプトで。
> ------------------------------------------------------------------------
> #!/usr/bin/perl
>
> my $log = '';
> while(<>) {
> $log .= $_;
> }
> $log =~ s/\n\s+/ /gm;
> print $log;
> ------------------------------------------------------------------------
上記のスクリプトで、1行にまとめる事ができました。
その後、grep で insert,update,delete のsqlがある行を抽出し、
上記のスクリプトをヒントに、先頭のいらない文字を削除、行末に";"を
追加し、必用なsqlのテキストを作成する事ができました。
perlは今まで触った事がありませんでしたが、鈴木さんのサンプルのおかげで
何とかできました。
ありがとうございました。
---------------------------------------------------------------------
T.Utsumi E-Mail : takashi @ pat.hi-ho.ne.jp
pgsql-jp メーリングリストの案内