J'ai un dossier contenant environ 1 700 fichiers. Ils sont tous nommés comme suit 1.txt
o 1497.txt
etc. Je voudrais renommer tous les fichiers de manière à ce que tous les noms de fichiers aient une longueur de quatre chiffres.
C'est-à-dire, 23.txt
devient 0023.txt
.
Quel est un script qui fera cela ? Ou une question connexe : Comment puis-je utiliser grep pour ne faire correspondre que les lignes qui contiennent \d.txt
(c'est à dire un chiffre, puis un point, puis les lettres txt
) ?
Voici ce que j'ai pour l'instant :
for a in [command i need help with]
do
mv $a 000$a
done
En gros, exécutez cette commande trois fois, avec des commandes pour trouver des noms de fichiers à un, deux et trois chiffres (en modifiant le nombre de zéros initiaux).
0 votes
Duplicata possible de Bash script pour rembourrer les noms de fichiers
1 votes
@CiroSantilli, d'ailleurs, j'ai récemment eu quelqu'un qui s'est opposé à ce qu'un dupe soit fermé avec cela, car la logique de remplissage des premiers chiffres et la logique de remplissage des chiffres plus tard dans un nom diffèrent quelque peu. (Par conséquent, stackoverflow.com/questions/46993470/ est actuellement signalé comme étant une copie de cette réponse, et no une copie de celui-ci).