Bash?

Bonsoir tout le monde,
voilà je me demandez quelque chose en lisans pas mal de documentation. Voilà je vois pas mal de commandes en console du style for i in dscn*; do mv $i `echo $i | sed "/^dscn/s//vacances_perigord-/"`; done

Je l’ai comprend mais pas en détails et je ne cherche pas à apprendre par coeur des lignes de commandes, ça n’aurais strictement aucun sens lol.
Donc je me demandais quel language s’étais pour chercher de la documentation et m’y mettre :smiley:

Bash.

Salut, il semble que tu veuilles renommer tes photos en utilisant des expression régulières. Tu devrais jeter un coup d’oeil à rename

[code]man rename
rename - renames multiple files

SYNOPSIS
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

DESCRIPTION
"rename" renames the filenames supplied according to the rule specified
as the first argument. The perlexpr argument is a Perl expression
which is expected to modify the $_ string in Perl for at least some of
the filenames specified. If a given filename is not modified by the
expression, it will not be renamed. If no filenames are given on the
command line, filenames will be read via standard input.

   For example, to rename all files matching "*.bak" to strip the exten-
   sion, you might say

           rename 's/\.bak$//' *.bak

[/code]

[quote=“guetguet”]Bonsoir tout le monde,
voilà je me demandez quelque chose en lisans pas mal de documentation. Voilà je vois pas mal de commandes en console du style for i in dscn*; do mv $i `echo $i | sed "/^dscn/s//vacances_perigord-/"`; done

Je l’ai comprend mais pas en détails et je ne cherche pas à apprendre par coeur des lignes de commandes, ça n’aurais strictement aucun sens lol.
Donc je me demandais quel language s’étais pour chercher de la documentation et m’y mettre :smiley:[/quote]

Salut, j’ai mal lu ton post. En fait tu veux comprendre ce que fait la commande. C’est une commande interprétée par un interpréteur de commande comme par exemple bash, sh, zsh, ash etc… Tu as dans cette commande une boucle for dans laquelle, pour chaque fichier dont le nom commence par dscn (dscn* en bash…) va rennommer le fichier en remplaçant dscn par vacances_perigord-
Une façon de renommer est d’utiliser mv, (move) mv baaz quux renomme baaz en quux…
les quotes `` entourant echo… permettent d’isoler une portion de commandes, un peu comme les parenthèses en maths… (c’est surement un raccourci ultra-mauvais…)
echo $i revoie la valeur de la variable i (dans la boucle for, cette valeur va parcourir tous les noms de fichiers correspondant au motif dscn*
la barre verticale | est un pipe, elle récupère la sortie de la commande à gauche du pipe (ici, dscn00345.jpg par exemple) pour la balancer en entrée de la commande à droite du pipe (ici ça donnera donc sed “/^dscn/s//vacances_perigord-/” dscn00345.jpg)
sed est une commande qui manipule du texte en ligne, ici on remplace dscn par vacances_perigord- …

Bref, cette ligne qui utilise un boucle for, un pipe, des quotes, un sed et une regexp peut se limiter à un emploi de rename…

[quote=“guetguet”]Bonsoir tout le monde,
voilà je me demandez quelque chose en lisans pas mal de documentation. Voilà je vois pas mal de commandes en console du style for i in dscn*; do mv $i `echo $i | sed "/^dscn/s//vacances_perigord-/"`; done

Je l’ai comprend mais pas en détails et je ne cherche pas à apprendre par coeur des lignes de commandes, ça n’aurais strictement aucun sens lol.
Donc je me demandais quel language s’étais pour chercher de la documentation et m’y mettre :smiley:[/quote]
Ça devrait t’intéresser : http://abs.traduc.org/

Salut,

personal.riverusers.com/~thegren … -guide.pdf