effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier
|
24-10-2013, 21h26
Message : #4
|
|
b0fh
![]() Membre actif ![]() Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier
La solution avec echo va foirer lamentablement passé une certaine taille (limitation de la taille max des arguments a une commande)
Ca fait lance run message d'erreur à tail, mais techniquement, pour effacer les n dernières lignes d'un fichier en préservant le reste, l'approche correcte est de faire un truncate, soit avec la commande idoine, soit avec dd: Code : truncate -s $((`wc -c <"$fichier"` - `tail -n $lignes |wc -c` )) "$fichier" Code : dd if=/dev/null bs=1 of="$fichier" seek=$((`wc -c <"$fichier"` - `tail -n $lignes |wc -c` )) |
|
« Sujet précédent | Sujet suivant »
|
Messages dans ce sujet |
effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier - par gruik - 24-10-2013, 10h33
RE: effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier - par levur - 24-10-2013, 14h06
RE: effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier - par gruik - 24-10-2013, 20h56
RE: effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier - par b0fh - 24-10-2013, 21h26
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)