[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 [/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…