Bonjour
je voudrais savoir quelles sont les commandes sos scilab qui me
permettent de remplacer des virgules par des points, de supprimer une
ligne de texte, etc...
Merci.
Par exemple, dans le fichier texte ci-dessus:
pignon (num,theta,rayon)
1 -0,285599 11,640000 1
2 -0,281937 11,640000 2
3 -0,275357 11,642923 2
4 -0,268777 11,651749 2
5 -0,262196 11,666651 2
roue (num,theta,rayon)
1 -0,120830 34,200000 5
2 -0,118433 34,200000 5
3 -0,116035 34,200000 5
4 -0,113637 34,200000 5
5 -0,111239 34,200000 5
je veux supprimer les deux lignes "pignon (num,theta,rayon)" et "roue (num,theta,rayon)", et ensuite remplacer les virgules par des points.
Merci
# Perl ?
Posté par jayp . Évalué à 1.
-----8<-----
#!/usr/bin/perl -w
# tmp.pl - parse a file for https://linuxfr.org/forums/31/13748.html
# usage: ./tmp.pl file.txt
if($#ARGV != 0)
{
die "Please supply names of 1 file (./tmp.pl myfile.txt)\n";
}
my($file1) = @ARGV;
$file2 = $file1 . "2";
unless(-e $file1 && -f $file1 && -r $file1)
{
die "$file1 cannot be accessed\n";
}
open FILE1, "$file1"
or die "Cannot open $file1\n";
open FILE2, ">$file2"
or die "Cannot open $file2\n";
while(!eof(FILE1))
{
$line = ;
if(($line =~ /pignon \(num\,theta\,rayon\)/) || ($line =~ /roue \(num\,theta\,rayon\)/))
{
# do nothing in file 2
}
else
{
$line =~ s/\,/\./g;
print FILE2 $line;
}
}
close FILE1;
close FILE2;
-----8<-----
Maintenant, tu perds peut-être une info car ton fichier devient :
1 -0.285599 11.640000 1
2 -0.281937 11.640000 2
3 -0.275357 11.642923 2
4 -0.268777 11.651749 2
5 -0.262196 11.666651 2
1 -0.120830 34.200000 5
2 -0.118433 34.200000 5
3 -0.116035 34.200000 5
4 -0.113637 34.200000 5
5 -0.111239 34.200000 5
Et tu as perdu l'information séparant pignon de roue
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.