#1 Le 17/09/2010, à 10:44
- amauche
Suppression des 4 dernières ligne d'un fichier avec SED.
Bonjour à tous,
je voulais savoir comment on fait pour supprimer les 4 dernières lignes d'un fichier avec SED (ou autre mais priorité avec SED).
Merci à vous,
Hors ligne
#2 Le 17/09/2010, à 11:03
- credenhill
Re : Suppression des 4 dernières ligne d'un fichier avec SED.
hello
avec head
head --lines=-4
avec sed
sed -n ':s;1,3{N;bs};4,${N;P;D}'
ref. http://www.commentcamarche.net/faq/9558-sed-introduction-a-sed-part-iii#effacer-les-n-dernieres-lignes
Dernière modification par credenhill (Le 17/09/2010, à 11:13)
Hors ligne
#3 Le 17/09/2010, à 11:15
- speculoos
Re : Suppression des 4 dernières ligne d'un fichier avec SED.
La solution "head" est la plus simple. Si tu veux le faire avec sed, il faut faire un mini-script, du genre :
#!/bin/sh
i="4"
while [ $i -ne 0 ]
do
sed -i '$d' tonfichier
i=`expr $i - 1`
done
Tu peux également récupérer le numéro de ta dernière ligne en faisant
sed -n '$=' testsed
Tu peux réutiliser ce nombre ensuite...
En cadeau, je te file un lien pratique avec une multitude d'exemples pour utiliser sed. Je l'utilise souvent quand j'ai des trou de mémoire sur son utilisation : http://sed.sourceforge.net/sed1line_fr.html
Dernière modification par speculoos (Le 17/09/2010, à 11:19)
Hors ligne
#4 Le 17/09/2010, à 11:17
- amauche
Re : Suppression des 4 dernières ligne d'un fichier avec SED.
Cool merci credenhill c'est parfait.
Hors ligne
#5 Le 17/09/2010, à 11:24
- speculoos
Re : Suppression des 4 dernières ligne d'un fichier avec SED.
Et merci de ma part aussi Beaucoup plus propre que ce que je propose (mes connaissances de sed sont plus limitées ) !
Hors ligne
#6 Le 17/09/2010, à 13:00
- amauche
Re : Suppression des 4 dernières ligne d'un fichier avec SED.
Merci aussi speculoos
Hors ligne