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' :

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
Correction :
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