Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/10/2018, à 05:42

arcanis112

Script bash de renommage spécifique

Bonjour,

J'ai besoin d'aide pour écrire un script de renommage, voici le principe :
Un répertoire est rempli de fichier du type : DCP_1234.jpg, DCP_1234.JPG avec 1234 des chiffres aléatoires.
Je doit pouvoir renommer tous ces fichiers en la forme photo_1234.jpg

Je suis débutant donc j'ai du mal à voir comment faire, mais je sais qu'il va falloir utiliser les préfixes en arguments.

Je commencerais avec une boucle for afin de traiter tous les fichiers du répertoire :

for fichier in *
do

done

J'ai aussi pu trouver sur le net ce script que j'ai un peu adapter, mais je n'arrive tout de même pas à bien comprendre comment il marche:

nom="fichier"
let "indice=1"
for fichier in *.jpg or *.JPG
do
         if [ -f $fichier; then
            extension=${fichier##*.}
            echo $fichier] "=>" $nom-$indice.$extension
            mv $fichier $nom-$indice.$extension
            let "indice+=1"
        fi
done

Merci d'avance pour votre aide !

Dernière modification par arcanis112 (Le 10/10/2018, à 18:08)

Hors ligne

#2 Le 10/10/2018, à 05:51

pingouinux

Re : Script bash de renommage spécifique

Bonjour,

rename 's/DCP_/photo_/' *.jpg *.JPG

Hors ligne

#3 Le 10/10/2018, à 05:59

arcanis112

Re : Script bash de renommage spécifique

Bonjour et merci pour votre réponse ! C'est plus simple que ce que je pensais.

Je me permets de demander de l'aide pour un autre exercice, ou je dois ouvrir un terminal de couleur aléatoire.
Sur le net, j'ai trouvé ça, sauf que je voudrais mettre les couleurs dans un fichier texte afin que le script cherche un couleur aléatoire de ce fichier :

COULEUR=(
    FFFFFFFFDDDD  # jaune
    FFFFFFFFFFFF  # blanc
    000000000000  # noir
    AAAAAAAAAAAA  # gris
    0000FFFF0000  # vert
)

#Nombre d’éléments dans COULEUR
num=${#COULEUR[@]}

# Un élément au hasard
Element=$(($RANDOM % $num))

# Changement de couleur du terminal
gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/background_color "#${COULEUR[$element]}"
gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/foreground_color "#${COULEUR[$element]}"

# Lancement du terminal
exec /usr/bin/gnome-terminal.distrib "$@"

Dans le fichier texte je rentrerais seulement les codes couleurs (  0000FFFF0000 par exemple). Comment faire les commande indiqués en commentaires en utilisant le fichier texte ?

Dernière modification par arcanis112 (Le 10/10/2018, à 18:08)

Hors ligne

#4 Le 10/10/2018, à 06:31

pingouinux

Re : Script bash de renommage spécifique

$ cat couleurs
FFFFFFFFDDDD
FFFFFFFFFFFF
000000000000
AAAAAAAAAAAA
0000FFFF0000

$ coul=$(shuf -n1 couleurs)
$ echo "$coul"
000000000000

$ coul=$(shuf -n1 couleurs)
$ echo "$coul"
FFFFFFFFDDDD

Hors ligne

#5 Le 10/10/2018, à 08:33

cqfd93

Re : Script bash de renommage spécifique

Modération

Bonjour,

Pour ajouter toi-même les balises code à tes messages #1 et #3:

  • Cliquer sur le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message
    1471986854.png


cqfd93

Hors ligne

#6 Le 10/10/2018, à 09:14

Watael

Re : Script bash de renommage spécifique

+ autre exercice -> autre sujet !!!

comment les futurs lecteurs vont-ils trouver la solution de cette nouvelle question ???


eval, c'est mal.

Hors ligne

#7 Le 10/10/2018, à 10:29

erresse

Re : Script bash de renommage spécifique

Est-ce que les réponses proposées ici par des "quasi-pros" de la rédaction de scripts bash correspondent vraiment au but recherché pour ces "exercices" ???
Est-ce que le but d'un exercice n'est pas, précisément de se creuser un peu les méninges pour produire un travail personnel ?
roll


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#8 Le 10/10/2018, à 18:12

arcanis112

Re : Script bash de renommage spécifique

Merci pour vos réponses.

Je suis d'accord avec vous, erresse et je vous rassure, je n'ai pas copié bêtement ces scripts, mais ils m'ont permis de comprendre la manière de faire !
D'ailleurs, j'ai procédé différemment pour l'affichage du terminal coloré (utilisation de xterm).

Désolé, j'ai pas pensé à créer un nouveau post, je le ferais la prochaine fois.

En tout cas j'ai réussi à faire ce que je voulais, encore merci et bonne continuation !

Dernière modification par arcanis112 (Le 10/10/2018, à 18:16)

Hors ligne