Performances de sed

Stephane Jourdois kwisatz-shell at rubis.org
Wed Sep 3 10:57:06 CEST 2008


On Tue, Sep 02, 2008 at 09:43:44PM +0200, Daniel Caillibaud wrote:
> Le 02/09/08 à 17:38, Stephane Jourdois <kwisatz-shell at rubis.org> a écrit :
> 
> > On Mon, Sep 01, 2008 at 03:06:53AM +0200, Daniel Caillibaud wrote:
> PS : Le script modifié utilisé (j'ai pas de CREATE DATABASE dans mes dump donc j'ai viré les ref à $db, ajouté un ;
> manquant et viré la ligne close qui lui plaisait pas)
> -----
> #!/usr/bin/perl
> use strict;
> use warnings;
> 
> my $table = undef; # Current table name
> my $fh = undef; # Current filehandle
> 
> while (<>) {
> 	if (/^DROP TABLE IF EXISTS `([^`]+)`/) {
> 		$table = $1;
> 		open $fh, '>', "perl_$table.sql";
> 	}
> 
> 	if ($table) {
> 		print $fh $_ if $fh;
> 	}
> }
> close $fh;
> -----

Bon mis à part que tout ça ne sert à rien avec la bonne option de
mysqldump, j'ai oublié de préciser comment invoquer ce script, dont tu
peux profiter pour virer le dernier close qui ne sert à rien non plus :

mysqldump db | perl lescript.pl
mysqldump db >file; perl lescript.pl file

ou plus élégant étant donné qu'on est tout de même sur shell at asyd.net :

perl lescript.pl <(mysqldump db)

(et tout ça pour rien ;-)

++

PS: (je suppose que le close ne lui plaisait pas parce qu'il n'y avait
pas de parenthèses, ptet que "close($fh) if $fh;" lui plaît plus.

-- 
 ///  Stephane Jourdois     /"\  ASCII RIBBON CAMPAIGN \\\
(((    Consultant securite  \ /    AGAINST HTML MAIL    )))
 \\\   157 Bd Davout         X                         ///
  \\\  75020  Paris         / \    +33 6 8643 3085    ///


More information about the Shell mailing list