Re: [CBLX] passer d'un format de 40 chars à 80 + corriger les CR/LF

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Re Aldo.

Les solutions emacs, fmt ou par sont sûrement meilleures que la mienne mais
moi j'aime bien perl !

Je te joins un script qui fait l'affaire à un détail prêt : si tu concatène
deux lignes de 40 tu peux obtenir une ligne de 81.

Philippe
#!/usr/bin/perl -w

# réunit deux lignes consécutives

use File::Basename;
use strict;

if( $#ARGV != 0 )
{
  print "\nSyntaxe : ".basename($0)." fichier\n";
  exit 1;
}

open( SRC, "<$ARGV[0]" ) || die "\nImpossible d'ouvrir $ARGV[0]";
$/ = "";
my @par;
my $i = 0;

while( <SRC> )
{
    $par[$i] = $_;
    $i++;
}

close SRC;

open( DST, ">$ARGV[0].new" ) || die "\nImpossible d'ouvrir $ARGV[0].new";

$\ = "\n";
my @l;
my $j;

foreach $i (0..$#par)
{
    @l = split( '\n', $par[$i]);
    foreach $j (0..$#l)
    {
	if( $j%2 == 0 )
	{
	    print DST "$l[$j] $l[$j+1]";
	}
    }
    print DST '';
}

close DST;

exit 0;


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/