Bonjour,
comment supprimer les 2 premiers lignes d'un fichier et les 2 derniéres lignes d'un fichier ,
sachant que chaque fichier peuvent avoir un nombre de lignes différent de l'autre.
Merci d'avance,
Cordialement.
$ grep -n '^.*$' fichier 1: 2: 3:1 4:2 5:3 6: 7:4 8:5 9: 10:6 11:7 12:8 13:9 14: 15:
$ perl -e '@f=<>;pop @f while($f[-1]=~/^$/);shift @f while($f[0]=~/^$/);print@f[2..$#f-2]' fichier > resultat $ cat resultat 3 4 5 6 7
$ perl -e '@f=<>;print@f[2..$#f-2]' fichier > resultat $ cat resultat 1 2 3 4 5 6 7 8 9
sed -i.bak '1,2d;$d' ligne.txt && sed -i.old '$d' ligne.txtLes "-i.bak" et "-i.old" c'est pour faire une copie de sauvegardes des fichiers originaux.
[jp@MDK tmpfs]$ cat ligne.txt 1ère ligne 2ème ligne 3ème ligne 4ème ligne 5ème ligne 6ème ligne 7ème ligne 8ème ligne 9ème ligne 10ème ligne [jp@MDK tmpfs]$ sed -i.bak '1,2d;$d' ligne.txt && sed -i.old '$d' ligne.txt [jp@MDK tmpfs]$ cat ligne.txt 3ème ligne 4ème ligne 5ème ligne 6ème ligne 7ème ligne 8ème ligne [jp@MDK tmpfs]$;-))
#!/usr/bin/perl -i.orig
use strict;use warnings;
while(<>){
print "$_" for 289 .. eof();
}
__END__
perl /chemin/vers/suppr_lignes.pl fichier1 fichier2 ....... fichierN
#!/usr/bin/perl -i.orig
use strict;use warnings;
@ARGV=("/chemin/vers/fichier1", "/chemin/vers/fichier2");
while(<>){
print "$_" for 289 .. eof();
}
__END__
perl /chemin/vers/suppr_lignes.pl
Découvrez ici tout ce qui vous attend dans la nouvelle version du célèbre système d'exploitation.