[commande Unix] Suppression fichiers

incognico -  
jisisv Messages postés 3678 Statut Modérateur -
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

1 réponse

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    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