Mince, là je suis bien embêté avec un pb que j'ai sous-estimé.
Dans un dossier compt, il y a ces fichiers
~/Desktop/compt> ls
Compteur.txt
REP1.txt
REP2.txt
Le fichier Compteur.txt contient simplement le caractère 2
Le but de la manip est :
- initialiser un compteur compt à la valeur du contenu du fichier Compteur.txt (càd 2)
- par pas de 1 décrémenter ce compteur et renommer les fichiers REP$compt .txt en rep(compt -1).txt
jusqu'à ce que $compt=0
Donc en gros :
REP1.txt -> devient REP0.txt
REP2.txt -> devient REP1.txt
et stop
donc
compt=$(cat Compteur.txt)
for i in `seq $compt` ; do j=$(( $compt - 1 ));rename "$compt" "$j" REP$compt.txt ; done
ça me parait bien cradasse comme code, sans compter que ça ne marche pas. J'ai essayé d'inverser la séquence en utilisant
| tac mais c'est pas mieux. Pareil avec les guillemets ou simple ' ça ne change rien. Je me suis perdu avec une boucle while (la condition était : "tant que le compteur est strictement supérieur à zéro, décrémenter ce compteur et renommer" - pour l'arrêt de la boucle).
Comment procèderiez-vous proprement pour arriver au résultat attendu ?