ufile: support des pattern regex
This commit is contained in:
parent
6130c2ff7f
commit
7bd0a95b3e
14
ufile
14
ufile
|
@ -12,7 +12,11 @@ Dans ce fichier, le tableau RULES contient des règles qui sont chacune de la
|
||||||
forme pattern:destdir[:renamef]
|
forme pattern:destdir[:renamef]
|
||||||
|
|
||||||
- pattern est au format glob et identifie les fichiers auxquels s'applique la
|
- pattern est au format glob et identifie les fichiers auxquels s'applique la
|
||||||
règle
|
règle, sauf si la chaine commence par / auquel cas il s'agit d'une expression
|
||||||
|
régulière reconnue par awk. Par exemple, les deux patterns suivants sont
|
||||||
|
équivalents:
|
||||||
|
[ab]cd*.pdf
|
||||||
|
/[ab]cd.*\\\\.pdf\$
|
||||||
- destdir est le répertoire de destination dans lequel classer le fichier
|
- destdir est le répertoire de destination dans lequel classer le fichier
|
||||||
- renamef est une fonction qui permet de supporter le renommage d'un fichier
|
- renamef est une fonction qui permet de supporter le renommage d'un fichier
|
||||||
lors de son classement. Sa signature est 'renamef filename pf destdir' où
|
lors de son classement. Sa signature est 'renamef filename pf destdir' où
|
||||||
|
@ -107,7 +111,7 @@ function __set_dest() {
|
||||||
setx dest=abspath "$dest"
|
setx dest=abspath "$dest"
|
||||||
else
|
else
|
||||||
__check_destdir "$destdir" "$rule" || return 1
|
__check_destdir "$destdir" "$rule" || return 1
|
||||||
setx dest=joinp "$destdir" "$filename"
|
setx dest=joinp "$destdir" "$dest"
|
||||||
fi
|
fi
|
||||||
upvar dest "$dest"
|
upvar dest "$dest"
|
||||||
return 0
|
return 0
|
||||||
|
@ -223,7 +227,11 @@ for file in "${files[@]}"; do
|
||||||
odestdir="$HOME"
|
odestdir="$HOME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "[[ \"\$filename\" == $(qwc "$pattern") ]]" || continue
|
if [ "${pattern#/}" != "$pattern" ]; then
|
||||||
|
awk -v filename="$filename" -v pattern="${pattern#/}" 'BEGIN { exit(filename ~ pattern? 0: 1) }' || continue
|
||||||
|
else
|
||||||
|
eval "[[ \"\$filename\" == $(qwc "$pattern") ]]" || continue
|
||||||
|
fi
|
||||||
|
|
||||||
unset dest
|
unset dest
|
||||||
interaction=--DEFAULT--
|
interaction=--DEFAULT--
|
||||||
|
|
Loading…
Reference in New Issue