Intégration de la branche update-ufile
This commit is contained in:
commit
36eec4a517
30
ufile
30
ufile
|
@ -37,6 +37,7 @@ forme pattern:destdir[:renamef]
|
||||||
|
|
||||||
USAGE
|
USAGE
|
||||||
$scriptname [options] <files...>
|
$scriptname [options] <files...>
|
||||||
|
$scriptname [options] -r <files|dirs...>
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-c, --config CONFIG
|
-c, --config CONFIG
|
||||||
|
@ -56,6 +57,9 @@ OPTIONS
|
||||||
Toujours utiliser scp pour une copie distante. Par défaut s'il est
|
Toujours utiliser scp pour une copie distante. Par défaut s'il est
|
||||||
déterminé que l'hôte distant est en réalité l'hôte courant, alors la
|
déterminé que l'hôte distant est en réalité l'hôte courant, alors la
|
||||||
copie est effectuée directement.
|
copie est effectuée directement.
|
||||||
|
-r, --recursive
|
||||||
|
Classer récursivement tous les fichiers d'un répertoire. Sans cette
|
||||||
|
option, il n'est pas autorisé de fournir un répertoire comme argument.
|
||||||
-n, --fake
|
-n, --fake
|
||||||
Afficher les opérations qui seraient faites
|
Afficher les opérations qui seraient faites
|
||||||
-l, --list
|
-l, --list
|
||||||
|
@ -116,6 +120,7 @@ args=(%
|
||||||
--force-cp force_cp=1
|
--force-cp force_cp=1
|
||||||
-S:,--ssh: SSH=
|
-S:,--ssh: SSH=
|
||||||
--force-scp force_scp=1
|
--force-scp force_scp=1
|
||||||
|
-r,--recursive recursive=1
|
||||||
-n,--fake fake=1
|
-n,--fake fake=1
|
||||||
-l,--list action=list
|
-l,--list action=list
|
||||||
-e,--edit action=edit
|
-e,--edit action=edit
|
||||||
|
@ -182,13 +187,28 @@ for rule in "${RULES[@]}"; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# faire la liste des fichiers
|
||||||
|
files=()
|
||||||
|
for file in "$@"; do
|
||||||
|
if [ -d "$file" -a -n "$recursive" ]; then
|
||||||
|
setx file=abspath "$file"
|
||||||
|
array_from_lines rfiles "$(find "$file" -type f)"
|
||||||
|
array_extendu files rfiles
|
||||||
|
elif [ -f "$file" ]; then
|
||||||
|
setx file=abspath "$file"
|
||||||
|
array_addu files "$file"
|
||||||
|
elif [ -n "$fake" ]; then
|
||||||
|
: # on est en mode fake, pas grave si le fichier n'est pas trouvé
|
||||||
|
elif [ -d "$file" ]; then
|
||||||
|
eerror "$file: est un répertoire. essayez avec -r"
|
||||||
|
else
|
||||||
|
eerror "$file: fichier introuvable. il sera ignoré"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# faire le classement effectif
|
# faire le classement effectif
|
||||||
r=
|
r=
|
||||||
for file in "$@"; do
|
for file in "${files[@]}"; do
|
||||||
[ -f "$file" -o -n "$fake" ] || {
|
|
||||||
eerror "$file: fichier introuvable. il sera ignoré"
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
setx pf=abspath "$file"
|
setx pf=abspath "$file"
|
||||||
setx dir=dirname -- "$pf"
|
setx dir=dirname -- "$pf"
|
||||||
setx filename=basename -- "$pf"
|
setx filename=basename -- "$pf"
|
||||||
|
|
Loading…
Reference in New Issue