J'ai un certain nombre de fichiers dans un dossier, et je veux remplacer chaque caractère d'espace dans tous les noms de fichiers par des traits de soulignement. Comment puis-je y parvenir ?
Réponses
Trop de publicités?
DF.
Points
101
DigitalRoss
Points
80400
javipas
Points
153
Que faire si vous souhaitez appliquer la tâche de remplacement de manière récursive ? Comment ferais-tu ça ?
Je viens de trouver la réponse moi-même. Pas la solution la plus élégante, (essaie également de renommer les fichiers qui ne sont pas conformes à la condition), mais il fonctionne. (BTW, dans mon cas, j'avais besoin de renommer les fichiers avec '%20', pas avec un trait de soulignement)
#!/bin/bash
find . -type d | while read N
do
(
cd "$N"
if test "$?" = "0"
then
for file in *; do mv "$file" ${file// /%20}; done
fi
)
done
Murali VP
Points
2555