# [Serveur] renommer des fichiers

## Pheatlon

Bonjour à tous 

j'ai dans un répertoire plus de 5000 images que je  fois renommer.  j'ai testé plusieurs commandes trouvées sur le site mais aucune n'arrive à faire ce que je veux.

mes images sont de la forme :

```
t_hdjkshdkjqsdhkjq.jpg 
```

et je voudrais que ça devienne: 

```
t_picture_hdjkshdkjqsdhkjq.jpg
```

Merci à tous et joyeuses fêtes

----------

## Temet

Dans le dossier avec les images, mets ce script et exécute le:

```
#!/bin/bash

for img in *.jpg; do

        prefix=${img%_*}

        suffix=$(echo $img | awk -F"_" '{print $2}')

        mv $img ${prefix}_picture_${suffix}

done
```

Doit y avoir moyen de faire mieux mais moi je sais pas faire.

----------

## Bapt

si tu utilise zsh tu as zmv (autoload -U zmv)

```
zmv 't_*.jpg' 't_picture_$1.jpg'
```

Si tu veux tester avant :

```
zmv -n 't_*.jpg' 't_picture_$1.jpg'
```

----------

## Temet

J'ai trouvé mieux ^^

```
for img in *.jpg; do mv "$img" ${img%_*}_picture_${img##*_}; done
```

Commande à lancer dans le bon répertoire bien sûr ^^

----------

## Magic Banana

Sinon il y a la commande rename qui sert à cela !

----------

## Temet

Oui bah donne la en entier, radin!  :Laughing: 

----------

## Magic Banana

 *Temet wrote:*   

> Oui bah donne la en entier, radin! 

 

Ma bonté me perdra :

```
$ rename 's/^t_/t_picture_/' *.jpg
```

----------

