Bonjour,
Je souhaiterai exporter la commande find dans un fichier 'tmp', puis utiliser ce fichier dans la fonction renomme()
Voici le script avec lecture du fichier 'tmp' :
Correction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 #!/bin/bash # Comment exécuter le script # ./renom2 REPERTOIRE # A compléter si nécessaire caracteres_avant="àâäçéèêëîïôöùüûÂÇÉÈÊËÎÏÔÖÙÜÛ " caracteres_apres="aaaceeeeiioouuuACEEEEIIOOUUU_" #renomme si un "caracteres_avant" est présent function renomme() { while read chemin; do echo "dans le répertoire : " $chemin cd "$chemin" for i in * ; do if [[ $i == *[$caracteres_avant]* ]] ; then echo "renomme : " mv -v "$i" `echo $i | tr "$caracteres_avant" "$caracteres_apres"` ; fi done done < /home/utilisateur/Desktop/script/tmp } #liste les répertoires dans l'ordre décroissant { find $1 -type d | sort -r > tmp } | renomme
Je pensais que la syntaxe était mauvaise, mais ce n'est pas le cas, ce script fonctionne aléatoirement... Pensez-vous que c'est lié à l'ouverture du fichier, faut-il le fermer ?
Merci d'avance
Partager