fndate: maj doc et améliorations ergonomiques
This commit is contained in:
parent
d5f4ae25c0
commit
c25160c63b
54
fndate
54
fndate
|
@ -60,14 +60,14 @@ OPTIONS
|
||||||
PLACEHOLDER vaut ~~. Si le nom spécifié ne contient pas le PLACEHOLDER,
|
PLACEHOLDER vaut ~~. Si le nom spécifié ne contient pas le PLACEHOLDER,
|
||||||
il est placé au début.
|
il est placé au début.
|
||||||
-@, --force-date DATE
|
-@, --force-date DATE
|
||||||
Dans le nom spécifié, si la date est déjà présente, forcer son
|
Si une date du format attendu est déjà présente dans le nom du fichier,
|
||||||
remplacement par la valeur spécifiée. Par défaut, le fichier n'est pas
|
forcer son remplacement par la valeur spécifiée. Par défaut, le fichier
|
||||||
modifié si la date est déjà présente.
|
n'est pas modifié si la date est déjà présente.
|
||||||
S'il y a au moins 2 arguments et si le premier ou le dernier argument
|
Si le premier ou le dernier argument de ce script ressemblent à une date
|
||||||
ressemblent à une date (ie. d/m[/y] ou @d[/m[/y]]) et qu'aucun fichier
|
(ie. d/m[/y] ou @d[/m[/y]]) et qu'aucun fichier de ce nom n'existe dans
|
||||||
de ce nom n'existe dans le répertoire courant, activer automatiquement
|
le répertoire courant, activer automatiquement cette option, sauf si
|
||||||
cette option, sauf si l'option --no-auto-force-date est spécifié aussi.
|
l'option --no-auto-force-date est spécifiée aussi. Ainsi, les commandes
|
||||||
Les commandes suivantes sont équivalentes:
|
suivantes sont équivalentes:
|
||||||
$scriptname -@ d/m/y file
|
$scriptname -@ d/m/y file
|
||||||
$scriptname d/m/y file
|
$scriptname d/m/y file
|
||||||
$scriptname file @d/m/y
|
$scriptname file @d/m/y
|
||||||
|
@ -257,22 +257,24 @@ parse_opts "${PRETTYOPTS[@]}" \
|
||||||
--autof autof=1 \
|
--autof autof=1 \
|
||||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
if [ $# -gt 1 -a -z "$force_date" -a -n "$auto_force_date" ]; then
|
if [ -z "$force_date" -a -n "$auto_force_date" ]; then
|
||||||
# si le premier ou le dernier argument ressemblent à une date
|
# si le premier ou le dernier argument ressemblent à une date
|
||||||
f="$1"; f2="${f#@}"
|
f="$1"; f2="${f#@}"
|
||||||
l="${@:$#}"; l2="${l#@}"
|
|
||||||
if [[ "$f" == */* ]] && [ -z "${f//[0-9\/]}" -a ! -e "$f" ]; then
|
if [[ "$f" == */* ]] && [ -z "${f//[0-9\/]}" -a ! -e "$f" ]; then
|
||||||
force_date="$f"
|
force_date="$f"
|
||||||
shift
|
shift
|
||||||
elif [[ "$f" == @* ]] && [ -z "${f2//[0-9\/]}" -a ! -e "$f2" ]; then
|
elif [[ "$f" == @* ]] && [ -z "${f2//[0-9\/]}" -a ! -e "$f2" ]; then
|
||||||
force_date="$f2"
|
force_date="$f2"
|
||||||
shift
|
shift
|
||||||
elif [[ "$l" == */* ]] && [ -z "${l//[0-9\/]}" -a ! -e "$l" ]; then
|
elif [ $# -gt 1 ]; then
|
||||||
force_date="$l"
|
l="${@:$#}"; l2="${l#@}"
|
||||||
set -- "${@:1:$(($# - 1))}"
|
if [[ "$l" == */* ]] && [ -z "${l//[0-9\/]}" -a ! -e "$l" ]; then
|
||||||
elif [[ "$l" == @* ]] && [ -z "${l2//[0-9\/]}" -a ! -e "$l2" ]; then
|
force_date="$l"
|
||||||
force_date="$l2"
|
set -- "${@:1:$(($# - 1))}"
|
||||||
set -- "${@:1:$(($# - 1))}"
|
elif [[ "$l" == @* ]] && [ -z "${l2//[0-9\/]}" -a ! -e "$l2" ]; then
|
||||||
|
force_date="$l2"
|
||||||
|
set -- "${@:1:$(($# - 1))}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -358,14 +360,24 @@ elif [ "$action" == create ]; then
|
||||||
setx dir=dirname -- "$src"
|
setx dir=dirname -- "$src"
|
||||||
setx srcname=basename -- "$src"
|
setx srcname=basename -- "$src"
|
||||||
if [ -e "$src" ]; then
|
if [ -e "$src" ]; then
|
||||||
estep "Renommage de $(ppath "$src")"
|
|
||||||
setx destname=replace_ph "$srcname" "$force_date"
|
setx destname=replace_ph "$srcname" "$force_date"
|
||||||
setx dest=abspath "$dir/$destname"
|
setx dest=abspath "$dir/$destname"
|
||||||
[ "$src" != "$dest" ] || ewarn "La source et la destination sont identiques"
|
confirm_do=1
|
||||||
read_value "Veuillez confirmer le nom" destname "$destname"
|
if [ "$src" == "$dest" ]; then
|
||||||
|
if [ -n "$force_date" ]; then
|
||||||
|
ewarn "La source et la destination sont identiques"
|
||||||
|
else
|
||||||
|
estepi "$(ppath "$src"): aucun renommage nécessaire"
|
||||||
|
confirm_do=
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ -n "$confirm_do" ]; then
|
||||||
|
estep "Renommage de $(ppath "$src")"
|
||||||
|
read_value "Veuillez confirmer le nom" destname "$destname"
|
||||||
|
|
||||||
setx dest=abspath "$dir/$destname"
|
setx dest=abspath "$dir/$destname"
|
||||||
[ "$src" != "$dest" ] && mv -i "$src" "$dir/$destname"
|
[ "$src" != "$dest" ] && mv -i "$src" "$dir/$destname"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
setx destname=replace_ph "$srcname" "$force_date"
|
setx destname=replace_ph "$srcname" "$force_date"
|
||||||
setx dest=abspath "$dir/$destname"
|
setx dest=abspath "$dir/$destname"
|
||||||
|
|
Loading…
Reference in New Issue