Traiter 47 000 fichiers dans le terminal...

xcam

Membre confirmé
27 Août 2012
10
0
nancy
Bonjour j'aimerai ajouter une extension à 47000 fichiers :)

Ex :
1650111914.M817376P1318333.pdx1-sub0-mail-mx208,S=44910,W=46441:2,
1650184341.M105416P821011.pdx1-sub0-mail-mx211,S=34537,W=35122:2,
1650116827.M242674P22653.pdx1-sub0-mail-mx209,S=69263,W=70676:2,
1650184759.M572675P670335.pdx1-sub0-mail-mx206,S=38218,W=39025:2,
1650145875.M111410P3531293.pdx1-sub0-mail-mx202,S=1065,W=1106:2,
1650195480.M306915P1073428.pdx1-sub0-mail-mx211,S=58601,W=59396:2,
1650162905.M900033P300504.pdx1-sub0-mail-mx206,S=10020,W=10264:2,
1650196762.M104684P3789774.pdx1-sub0-mail-mx204,S=1225,W=1272:2,

si je tape en prenant 1 fichier :

sudo mv 1650111914.M817376P1318333.pdx1-sub0-mail-mx208,S=44910,W=46441:2, 1650111914.M817376P1318333.pdx1-sub0-mail-mx208,S=44910,W=46441:2,.eml

ça fonctionne

Mais si je tape :
sudo mv 16501* 16501*.eml

J'ai cette erreur :

mv: 16501*.eml is not a directory

Et là ça dépasse largement mes compétences :)

Est-ce qq'un aurait une idée !?

Merci par avance pour vos retours !
 
Bonjour xcam

Tes fichiers sont-ils tous recelés dans un unique dossier ?
 
Je te conseille par précaution d'effectuer une copie préallable du dossier original. Ce dossier original je l'appelle pour l'exemple BROL.

- dans le terminal > commence par passer une commande :​
Bloc de code:
cd [chemin_à]BROL
  • où tu peux taper cd > créer un espace libre > puis faire un glisser-déposer du dossier BROL dans le terminal --> ce qui va inscrire automatiquement le chemin au dossier et son intitulé > enfin exécuter la commande. La commande déplace la localisation des opérations dans le dossier BROL.

- puis passe la commande (copier-coller direct) :​
Bloc de code:
for i in *; do mv "$i" "$i.eml"; done
  • la commande utilise une boucle bash pour renommer en lot tous les objets inclus dans BROL en leur ajoutant l'extension .eml
- la commande passée > tu peux enchaîner sur la commande de vérification :​
Bloc de code:
ls | sort
  • qui affiche en colonne la liste des fichiers qui devraient tous se terminer par l'extension .eml.
 
Oh putain Edouard :)
Ta commande est magique !
Bloc de code:
for i in *; do mv "$i" "$i.eml"; done

Merci infiniment macomaniac !!!