Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3048 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  incrémenter le nom d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

incrémenter le nom d'un fichier

n°708812
Krapaud
Posté le 20-07-2005 à 10:07:38  profilanswer
 

Hello!
 
sur une debian je souhaite faire un script dont voici l'algorithme :  
 
Pour tout I allant de 1 à 100, I = I + 1
fichierXX.txt = fichierXX+1.txt
 
En soit ça me semble bidon, mais je ne sais pas incrémenter le nom d'un fichier par une valeur :o
 
Merci pour votre aide :jap:


Message édité par Krapaud le 20-07-2005 à 10:08:13
mood
Publicité
Posté le 20-07-2005 à 10:07:38  profilanswer
 

n°708816
jlighty
Posté le 20-07-2005 à 10:15:29  profilanswer
 

en script sh ?

Code :
  1. fini=0;
  2. while [ "$fini" = 0 ]; do
  3. compteur=`expr "$compteur" + 1`;
  4. if [ "$compteur" = 100 ]; then
  5. fini=1;
  6. fi
  7. done;


par contre la suite j'ai pas compris ce que tu cherches à faire :

Citation :

fichierXX.txt = fichierXX+1.txt


copier le contenu fichierXX.txt dans fichierXX+l ?
 
Edit : correction bug


Message édité par jlighty le 20-07-2005 à 10:21:03
n°708818
Krapaud
Posté le 20-07-2005 à 10:20:05  profilanswer
 

oui en script SH.
 
ok je vais essayer :o

n°708819
Krapaud
Posté le 20-07-2005 à 10:20:20  profilanswer
 

zut j'ai raté l'edit :o
:jap:
 
je test!

n°708820
jlighty
Posté le 20-07-2005 à 10:22:13  profilanswer
 

Code :
  1. fini=0;
  2.      while [ "$fini" = 0 ]; do
  3.      compteur=`expr "$compteur" + 1`;
  4.      if [ "$compteur" = 100 ]; then
  5.      fini=1;
  6.      fi
  7.      done;


n°708822
Krapaud
Posté le 20-07-2005 à 10:26:51  profilanswer
 

jlighty a écrit :

en script sh ?

Code :
  1. fini=0;
  2. while [ "$fini" = 0 ]; do
  3. compteur=`expr "$compteur" + 1`;
  4. if [ "$compteur" = 100 ]; then
  5. fini=1;
  6. fi
  7. done;


par contre la suite j'ai pas compris ce que tu cherches à faire :

Citation :

fichierXX.txt = fichierXX+1.txt


copier le contenu fichierXX.txt dans fichierXX+l ?
 
Edit : correction bug


 
 
en fait pour être très exact voici exactement ce que j'ai :  
 
fichier1.txt
fichier2.txt
fichier3.txt
(...)
fichier100.txt
 
Le but est que
1/ je supprime le 100ième fichier
2/ je renomme chaque fichier successivement en partant du 99ième (ça va de soi) en incrémentant son nom de 1
donc je dois partir de la fin, c'est pourquoi j'avais espérer une boucle FOR avec un I-- comme en C :o
 
Par contre je ne saisie pas bien le concept de "expr" : il faut bien que je définisses au préalable la "structure" du nom de mon fichier, non?

n°708824
jlighty
Posté le 20-07-2005 à 10:28:25  profilanswer
 

On peut aussi faire avec un for : (quand même plus court au niveau du code)

Code :
  1. for i in `seq 1 100`; do
  2. echo $i;
  3. done;

n°708827
Krapaud
Posté le 20-07-2005 à 10:29:48  profilanswer
 

justement, ce qui me chiffonne c'est : est-il possible de compte à l'envers dans une boucle for en SH?

n°708828
jlighty
Posté le 20-07-2005 à 10:29:52  profilanswer
 

d'accord donc tu veux décaler le nom de chaque fichier de 1 !

n°708829
jlighty
Posté le 20-07-2005 à 10:30:49  profilanswer
 

en faisant :

Code :
  1. compteur=`expr "$compteur" - 1`;


tu décrémentes $compteur

mood
Publicité
Posté le 20-07-2005 à 10:30:49  profilanswer
 

n°708830
jlighty
Posté le 20-07-2005 à 10:33:22  profilanswer
 

ou :

Code :
  1. for i in `seq 99 -1 1`; do
  2. j=`expr $i + 1`;
  3.      mv "fichier$i.txt" "fichier$j.txt";
  4.     done;


voilà ça devrait marcher

n°708832
Krapaud
Posté le 20-07-2005 à 10:35:34  profilanswer
 

jlighty a écrit :

ou :

Code :
  1. for i in `seq 99 -1 1`; do
  2. j=`expr $i + 1`;
  3.      mv "fichier$i.txt" "fichier$j.txt";
  4.     done;


voilà ça devrait marcher


 
 
 [:plat00n] ça à l'air d'être ça :o :jap:

n°708833
jlighty
Posté le 20-07-2005 à 10:35:35  profilanswer
 

je viens de tester le script, il est fonctionnel.

n°708850
Krapaud
Posté le 20-07-2005 à 10:52:43  profilanswer
 

c'est parfait, merci beaucoup :jap: :jap: :jap: :jap:

n°946540
Karnash
Posté le 24-08-2007 à 13:20:42  profilanswer
 

Salut !
 
Merci beaucoup pour ce bout de code... et désolé pour la réponse un peu tardive :)
 
J'ai refais une version, et je pense que ça vaut le détour. J'ai fait la version makefile...
 

NAME = wazzaaaaa
 
default:
 @echo "Actions:\n\tclean : supprime tous les fichiers temporaires générés par kate (peut-être préfixé par . et postfixé par ~)\n\tsave  : fait une sauvegarde du projet dans le dossier parent"
 
clean:
 @rm -vf `find ./ -regex "^\.?.*~$""`
 
save: clean
 @nameSize=`echo "../$(NAME)_" | wc -c`; \
 lastNum=`find ../ -regex "^\.\./$(NAME)_[0-9]+.tgz$"" | cut -c $$nameSize- | cut -f 1 -d "." | head -n 1`; \
 lastNum=`expr $$lastNum + 1`;\
 name="../$(NAME)_$$lastNum.tgz"; \
 echo "Nom de la backup : $$name"; \
 tar czf $$name ./


 
Au lieux de tester tous les nombres de 100 à 1 pour trouver le dernier nombre prit, ça cherche tous les fichiers de la form ../[NOM]_[NOMBRE].tgz et ça prend le plus grand... comme ça pas de limite !
 
Voilà, vous pouvez bien sur le modifier pour changer la forme du nom de fichier...
 
J'espère que ça vous sera utile, et que ça marchera chez vous... (ça marche bien chez moi !) :)

n°946542
dam1330
...
Posté le 24-08-2007 à 13:29:06  profilanswer
 

sinon y a krename

n°946544
wedgeant
Da penguin inside
Posté le 24-08-2007 à 13:33:02  profilanswer
 

c'te bash ... [:cerveau star]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  incrémenter le nom d'un fichier

 

Sujets relatifs
Fichier jpeg énorme avec imagemagick (convert)Serveur de fichier sous MDK10.1, configuration des droits.
PERL + bash: gestion des espaces vides dans les noms de fichierDistrib mini serveur fichier+impression
Impossible d'acceder au fichier hdlist :(Problème dedownload de fichier d'un serveur apache
Comment lire les fihier ds_store (fichier max) sous windows ?Probleme partage fichier serveur Samba
besoin d'un pro du wifi pour partage de fichierRestauration de fichier supprimés avec RM ?
Plus de sujets relatifs à : incrémenter le nom d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR