• # Sinon, à la main

    Posté par . En réponse au message Script de purge de log. Évalué à 2.

    Ca te conviendrait ça:


    #!/bin/sh
    KEEP=3
    LIST=$(ls -r --sort=time cequetuveux*)
    COUNT=$(echo $LIST|wc -l)
    echo "rm $(echo $LIST|head -n $((COUNT-KEEP))|tr '\n' ' ' )"
    echo "keep $(echo $LIST|tail -n $KEEP|tr '\n' ' ' )"


    Résultat:
    rm h g f e d c
    keep b a

    _ Tu met dans KEEP le nombre de fichiers que tu veux garder+1 (bizarrement d'ailleurs, je sais pas trop pourquoi tail a ce comportement dans le cas présent mais pas le temps de chercher).

    _ $(( )) te permet de faire de l'arithmétique en shell.

    _ tr te permet de virer les retours chariots et de les remplacer par des espaces pour que rm n'emmerde pas le monde :)