[commande Unix] Suppression fichiers

Fermé
incognico - 16 mars 2006 à 10:14
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 16 mars 2006 à 11:09
Bonjour,

voila mon probleme, j'ai un repertoire avec un certain nombre de fichier (on va dire 15), je souhaite trouver une commande qui me permette de supprimer tout ces fichiers SAUF les 3 plus recents.
Comment faire ?
MErci
A voir également:

1 réponse

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
16 mars 2006 à 11:09
Inspire toi de ceci:
johand@horus:~/tmp/dellast$ for num in $(seq 1 10 ) ; do touch file-$num ; sleep 1 ; done
johand@horus:~/tmp/dellast$ ls -1tr
file-1
file-2
file-3
file-4
file-5
file-6
file-7
file-8
file-9
file-10
johand@horus:~/tmp/dellast$ rm -i $(ls -1t|tail +4)
rm: détruire fichier régulier vide `file-7'? y
rm: détruire fichier régulier vide `file-6'? y
rm: détruire fichier régulier vide `file-5'? y
rm: détruire fichier régulier vide `file-4'? y
rm: détruire fichier régulier vide `file-3'? y
rm: détruire fichier régulier vide `file-2'? y
rm: détruire fichier régulier vide `file-1'? y
johand@horus:~/tmp/dellast$ ls -1t
file-10
file-9
file-8

Il faut regarder ce qui se passe si moins de 3 fichiers; je te laisse vérifier et améliorer...
man ls ; man tail
Johan
0