• # Recherche du dernier

    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 à 11:16.

    La deuxième solution est la recherche du dernier index crée, que l'on peut voir comme un complément
    au fichier d'index.

    #!/bin/sh
    PREFIX="TOTO"
    ls ${PREFIX}.*.ext 1>/dev/null 2>1
    if [ ${?} -eq 0 ]; then
    LASTID=`ls -1 ${PREFIX}.*.ext | tail -1 | cut -d . -f 2`
    LASTID=${LASTID:+`expr ${LASTID} + 1 `} 
    else
    LASTID=${LASTID:-0}
    fi
    printf "${PREFIX}.%05d.ext\n" ${LASTID}
    exit 0

    ls trie par défaut par ordre alphabétique, il suffit donc d'extraire avec cut la partie située entre les deux points du dernier élément ( tail ) et de l’incrémenter. Le test est là pour pouvoir créer un premier fichier, ls renvoie une erreur dans ce cas.

    ex: touchsh ./ceScript.sh