• # Fichier d'index

    Posté par . En réponse au message bash : créer des fichiers numérotés successifs. Évalué à 2. Dernière modification le 17 mars 2019 à 10:51.

    En ce qui concerne le deuxième cas, si on maîtrise l'environnement, on peut utiliser stocker dans un fichier le dernier index fourni:

    #!/bin/sh
    [ -w "./last.env" ] && . ./last.env
    LASTID=${LASTID:+`expr ${LASTID} + 1 `} 
    LASTID=${LASTID:-0}
    echo "LASTID=${LASTID}" > last.env
    printf "FILES.%05d.ext\n" ${LASTID}
    exit 0

    ex: touch `./ceScript.sh`
    L'inconvénient est que l'on repart à zéro si le fichier d'index est perdu, mais l'on peut ajouter des contrôles pour éviter d'écraser un fichier déjà existant.

    L'avantage est que l'on garde l'indexation même si les derniers fichiers sont effacés, ce qui va créé des trous.

    C'est généralement ce cas là que j'utilise dans mes scripts, combiné avec une recherche en cas de doute ou d'erreur comme la demande de création d'un fichier existant.