Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

(sed/Perl) supprimer des lignes d'un fichier

titexe, le mardi 12 décembre 2006 à 22:40:45 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Internet Explorer 6.0

1

jipicy, le mardi 12 décembre 2006 à 23:15:28

Salut,

sed -i.bak '1,2d;$d' ligne.txt && sed -i.old '$d' ligne.txt
Les "-i.bak" et "-i.old" c'est pour faire une copie de sauvegardes des fichiers originaux.
Un exemple :
[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]$
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

 lami20j, le mercredi 13 décembre 2006 à 18:46:20
  • +1

Salut,

et voilà en Perl

j'ai considéré aussi la possibilité que le fichier commence et se fini avec des lignes vides qu'on ne veux pas les prendre en compte

$ 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:


donc les lignes 1 et 2 et 14 et 15 sont vides (je ne les comptes pas)
$ 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


Si je veux prendre en compte les lignes vides (si jamais elles existent)
$ perl -e '@f=<>;print@f[2..$#f-2]' fichier > resultat
$ cat resultat
1
2
3

4
5

6
7
8
9
lami20j

P.S. Les commandes sont sur une seule ligne

Répondre à lami20j
PERL : Supprimer fichiers avec critère date Bonjour, Je souhaite supprimer tous les fuichiers d'un répertoire ayant plus de 3 mois. Quelles fonctions utiliser sous PERL pour effectuer cela. Merci www.commentcamarche.net/forum/affich-512810-perl-supprimer-fichiers-avec-critere-date
Supprimer ligne vide dans fichier txt en vbs Bonjour, J'ai en effet un fichier TXT mais il comporte des lignes vides. Exemple : TOTO TATA TITI TOTU TITA Et je voudrais obetenir ceci : TOTO TATA TITI TOTU TITA Depuis ce matin je fais des recherches sur le net mais en vain alors je tourne à... www.commentcamarche.net/forum/affich-1865903-supprimer-ligne-vide-dans-fichier-txt-en-vbs
Commande pour supprimer un fichier Bonjours à tous Quel sont les commandes pour supprimer des fichiers sur linux red hat (en mode commande bien sur ;)) Merci www.commentcamarche.net/forum/affich-1436147-commande-pour-supprimer-un-fichier
[Windows] Impossible de supprimer un fichier ou un dossierSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ... www.commentcamarche.net/faq/sujet-2677-windows-impossible-de-supprimer-un-fichier-ou-un-dossier
Supprimer les fichiers de désinstallation de SP1 sous VistaCette astuce vous permet de gagner plus que 700 Mio d'espace sur la partition système en supprimant les fichiers de sauvegarde créés après l'installation du SP1. Ceci dit, qu'après la suppression de ces fichiers la désinstallation du SP1 sera... www.commentcamarche.net/faq/sujet-13843-supprimer-les-fichiers-de-desinstallation-de-sp1-sous-vista
Sed - Supprimer une ou plusieurs lignes d'un fichierSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la... www.commentcamarche.net/faq/sujet-4839-sed-supprimer-une-ou-plusieurs-lignes-d-un-fichier
Impossible de supprimer un fichier (Résolu)bonjour a tous mon systeme d'exploitation est windows xp et j'ai un petit soucis ! je veux supprimé un fichier de mon pc mais lorsque je veux le faire il m'indique: erreur lors de la suppression du fichier ou du dossier impossible de supprimé le... www.commentcamarche.net/forum/affich-940796-impossible-de-supprimer-un-fichier
Erreur lors de la suppression du fichier (Résolu)bonjour, je n'arrive pas a supprimer sur mon bureau des fichiers ou des dossiers.on me dit quand je veux les mettre a la corbeille " erreur lors de la suppression du fichier ou du dossier". j'ai regardé sur le net des reponses qui me disent d'alle sur... www.commentcamarche.net/forum/affich-1922217-erreur-lors-de-la-suppression-du-fichier
[Terminal Red hat 9] Supprimer un fichier (Résolu)Salut à tous Je souhaite supprimer un fichier dans le treminal de Red hat 9, mais ne sais quelle commende ni la syntaxe à utiliser. Jai besoin que l'on me donne la commende à exécuter et la syntaxe d'écriture de la commande. Merci www.commentcamarche.net/forum/affich-2315373-terminal-red-hat-9-supprimer-un-fichier
Perl - Les fichiersLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles... www.commentcamarche.net/contents/perl/perlfich.php3