Bash renommer un fichier

-5

J'ai plusieurs fichiers dans mon répertoire:

projet2.tar.gz proj.txt file.png

En veulent ajouter "_alice" à chaque fichier. projet2_alice.tar.gz proj_alice.txt file_alice.png Voici mon script:

#/bin/bash                                                                                
if [ $# = 0 ]                                                                             
then                                                                                      
echo "Erreur:vous devez indiquer le nom de fichier a renommer"                            
fi                                                                                        
echo $1  

quelle commande je dois utiliser: rename, sed, mv ?

user1543915
la source
4
Avez-vous essayé l'une des commandes que vous mentionnez? ... Indice: mv
Attie
1
Je vais avec C. Deux des réponses ci-dessus ... Honnêtement, vous devez montrer quelles recherches vous avez faites.
mtak
Votre tentative actuelle comporte quelques erreurs triviales. Essayer shellcheck.net pour diagnostiquer les problèmes et les antipatterns dans vos scripts shell.
tripleee
puis-je utiliser la commande de coupe dans ce cas? Bests.
user1543915
2
Si vous avez pu résoudre votre propre problème, vous pouvez poster une réponse ci-dessous. La prochaine fois, montrez un peu plus d'effort pour résoudre votre problème avant de poser la question.
slhck

Réponses:

0

Voir le prename (simplement rename sur Debian et ses dérivés). Aucune boucle n'est nécessaire:

rename 's/\./_alice./' *

va insérer _alice avant le premier point du nom de tous les fichiers ( * ).

xenoid
la source