nutools/doc/tools/foreach.md

2.9 KiB

foreach

foreach: lancer une commande pour un ensemble d'arguments

USAGE
    foreach [options] [VAR=]expr cmd...

La commande est lancée avec la variable 'VAR', qui vaut par défaut 'item',
définie à la valeur courante de l'énumération. De plus, la variable 'index'
reçoit une valeur incrémentale commençant à 0.

En plus de VAR, les variables file, dir, name, basename, ext et dotext sont
définies. Elle valent respectivement le chemin absolu du fichier, le répertoire
absolu du fichier, le nom du fichier, le nom de base sans extension, l'extension
sans le point et l'extension avec le point, e.g pour item=dir/file.ext on a
file=/path/to/dir/file.ext, dir=/path/to/dir, name=file.ext, basename=file,
ext=ext, dotext=.ext

Exemple:
    foreach '*.c' cp %item dest/dir
Equivalent à:
    foreach item='*.c' cp %item dest/dir

OPTIONS
    -b, --basedir BASEDIR
        Chercher les expressions -d, -f, -a à partir de BASEDIR au lieu du
        répertoire courant.
    -d, --dir
        Faire la correspondance de l'expression sur les répertoires uniquement
    -f, --file
        Faire la correspondance de l'expression sur les fichier uniquement
    -a, --all
        Faire la correspondance de l'expression sur les répertoires et les
        fichiers
    -p, --parent
        Pour chaque fichier/répertoire, se placer dans le répertoire parent
        avant de lancer la commande. item est aussi modifié pour ne plus
        contenir que le nom de la cible (qui est désormais dans le répertoire
        courant)
        Cette option a la priorité sur --go
    -g, --go
        Si la cible est un répertoire, en faire le répertoire courant avant de
        lancer la commande. Si la cible est un fichier, faire comme --parent et
        se placer dans le répertoire du fichier avant de lancer la commande.
        Dans les deux cas, item est modifié pour ne plus contenir que le nom de
        la cible, soit '.' pour le répertoire courant, soit le nom du fichier
        dans le répertoire courant.
        Si cette option est mentionnée seule, elle implique --dir
    -s, --string
        Evaluer l'expression avec la fonction 'eval' du shell.
    -x, --expand
    -n, --no-expand
        Reconnaitre et traiter (resp. ne pas reconnaitre) la syntaxe %var dans
        les arguments. C'est le cas par défaut, ce qui permet de simplifier
        l'écriture d'une ligne de commande. Pour écrire le caractère '%', il
        suffit de le double e.g %%item
        Si l'expansion est désactivée, il faut protéger le caractère $ pour
        qu'il soit traité, e.g, avec les examples ci-dessus:
            foreach -n '*.c' 'cp "$item" dest/dir'
    -t, --title
    --no-title
        Afficher (resp. ne pas afficher) chaque correspondance avant de lancer
        la commande. Par défaut, l'affichage est effectué.

-- coding: utf-8 mode: markdown -- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary