# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 ##@cooked nocomments module: fndate "gestion de fichiers dont le nom contient la date" function: fndate_verifix "\ corriger le chemin \$1 pour ajouter le cas échéant une date au nom du fichier le fichier n'existe peut-être pas au moment où cette fonction est appelée \$2 est l'extension finale du fichier, à ignorer si elle est présente (elle n'est cependant pas ajoutée si elle n'est pas présente) \$3 est la date à sélectionner (par défaut c'est la date du jour) XXX à implémenter: - gestion de la date - ajout d'un suffixe .N le cas échéant (i.e YYMMDD.NN) " function fndate_verifix() { local dir filename ext date if [[ "$1" == */* ]]; then dir="$(dirname -- "$1")" filename="$(basename -- "$1")" else dir= filename="$1" fi ext="$2" if [ -n "$ext" ]; then ext=".${2#.}" if [ "${filename%$ext}" != "$filename" ]; then filename="${filename%$ext}" else ext= fi fi date="$3" [ -n "$date" ] || date="$(date +%y%m%d)" case "$filename" in ~~-*) filename="$date-${filename#~~-}";; ~~*) filename="$date-${filename#~~}";; *-~~) filename="${filename%-~~}-$date";; *~~) filename="${filename%~~}-$date";; esac echo "${dir:+$dir/}$filename$ext" }