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 ?


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 ( * ).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.