Supprimer les dernières lignes d'un fichier
Résolu
Absolu206
Messages postés
26
Statut
Membre
-
Absolu206 Messages postés 26 Statut Membre -
Absolu206 Messages postés 26 Statut Membre -
Bonjour,
J'ai besoin de supprimer les 7 dernières lignes d'un fichier dont je ne connais pas le nombre de lignes.
J'ai essayer de le faire avec un sed et un head mais ça ne me donne pas le résultat que je veux obtenir.
Quelqu'un a-t-il une solution?
Merci d'avance
J'ai besoin de supprimer les 7 dernières lignes d'un fichier dont je ne connais pas le nombre de lignes.
J'ai essayer de le faire avec un sed et un head mais ça ne me donne pas le résultat que je veux obtenir.
Quelqu'un a-t-il une solution?
Merci d'avance
Configuration: Windows XP Internet Explorer 6.0
12 réponses
-
Salut,
tac fichier | sed '1,7d' | tac
;-))
-
Je ne comprends plus rien ma méthode ne fonctionne plus :(
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Essaye ça alors :
sed -n -e :s -e '1,6{N;bs}' -e '7,${N;P;D}' fichier -
Et en plus, Libellé trop long : :s;1,3{N;bs};4,${N;P;D}
-
-
jp@MDK:~/tmpfs ssh$ cat fichier Ligne 1 Ligne 2 Ligne 3 Ligne 4 Ligne 5 Ligne 6 Ligne 7 Ligne 8 Ligne 9 Ligne 10 Ligne 11 Ligne 12 Ligne 13 Ligne 14 Ligne 15 Ligne 16 Ligne 17 Ligne 18 Ligne 19 Ligne 20 jp@MDK:~/tmpfs ssh$ nbrl=$(cat fichier | wc -l) jp@MDK:~/tmpfs ssh$ sept=$(( $nbrl - 6 )) jp@MDK:~/tmpfs ssh$ sed "${sept},${nbrl}d" fichier Ligne 1 Ligne 2 Ligne 3 Ligne 4 Ligne 5 Ligne 6 Ligne 7 Ligne 8 Ligne 9 Ligne 10 Ligne 11 Ligne 12 Ligne 13 jp@MDK:~/tmpfs ssh$Après je sais plus ;-))
-
Merci de ton aide mais la commande ne sed ne passe pas.
Voilà ce que j'ai : sed : commande incohérente : 32, 38d -
ça me donne le bon résultat.
Sinon j'ai quelque chose qui marche:
n=`grep -c ^ fichier`
head -n `expr $n - 7` fichier -
Ben voilà ;-))
-
Bon ben cette fois si c'est bon la méthode fonctionne bien