Petit script bash [resolu] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 09-03-2009 à 22:06:43
dolan 
Merci d'enlever le help dans ton titre, nous nous doutons que tu requiers de l'aide. 
(édition du premier post, petite icône avec un crayon)
Marsh Posté le 09-03-2009 à 22:07:46
man rename 
Marsh Posté le 09-03-2009 à 22:17:52
sinon il y a pyrenamer, par exemple.
Marsh Posté le 09-03-2009 à 22:21:47
| Modération a écrit : dolan  | 
 
lol oui sorry, j'en oublie les fondamentaux du forum.
Marsh Posté le 09-03-2009 à 22:23:36
| black_lord a écrit : man rename  | 
 
C'est sympa mais voici le man un peu spartiate: 
| Code : 
 | 
Marsh Posté le 09-03-2009 à 22:25:22
| O'Gure a écrit : sinon  il y a pyrenamer, par exemple. | 
 
Je ne peux malheureusement pas utiliser de softs car je n'ai pas les droits d'admin sur ma machine de travail de toute façon.
Marsh Posté le 09-03-2009 à 23:10:26
| dolan a écrit : Hi  
   | 
 
 
Normal que ça ne marche pas, après for tu dois mettre un do, et pas définir x avant le do : 
| for f in *; do  | 
Marsh Posté le 09-03-2009 à 23:11:21
| dolan a écrit :   | 
 
 
 
on peut utiliser/installer un soft sans être admin hein   
 
Marsh Posté le 09-03-2009 à 23:17:11
| Xavier_OM a écrit :   
 | 
 
Merci de ton aide   
  
Je le savais bien que c'était simple  
 
Marsh Posté le 09-03-2009 à 23:18:31
| Xavier_OM a écrit :   | 
 
Tout a fait, mais vu mon niveau, a chaque fois que je m'y suis frotte j'ai vraiment galéré. En général ça finit par une dépendance qui manque quelque part  
  
Marsh Posté le 10-03-2009 à 03:19:49
| Citation :   | 
Marsh Posté le 10-03-2009 à 11:24:32
dans tous les cas faut bien être conscient que si 1->2 puis 2->3 puis 3->... on promène le même fichier d'un bout à l'autre...
Marsh Posté le 10-03-2009 à 12:30:29
Oui, ya une couille, c'était pour voir si vous suiviez   
  
Il faut passer par des fichiers temporaire ou recopier dans un autre repertoire : 
 
| Code : 
 | 
Marsh Posté le 10-03-2009 à 14:49:09
En tout cas même si ça ne casse pas trois pattes a un canard voici le modeste script que j'ai utilise grâce a votre aide: 
| Code : 
 | 
 
qui transforme mes fichier : 
| exp_001.pdb exp_758.pdb exp_37.pdb ... | 
 
 
Il enlevant le prefixe "exp_: et incrémente le nombre.  
Je suppose qu'il y avait plus simple, mais comme on dit, l'essentiel est dans lactel.  
Tant que ça fonctionne, moi ça me va  
 
Merci a tous pour vos interventions.
Marsh Posté le 10-03-2009 à 15:47:58
Ah ouais, par ce que tes fichiers s'appellent "exp_N.pdb" et tu peux retirer le prefixe ?! Ca aurait été tres utile de le préciser dès le départ hein... ^^ 
 
Deplus, c'est "cool" que tu te serve des "parameter expansion", mais il y a un plus adapté pour ce que tu fait : 
| Citation : $ var=exp_001.pdb  | 
Marsh Posté le 12-03-2009 à 15:17:05
mmm, mais je ne suis même pas certain de comprendre  
 
Plus sérieusement je crois voir ce que ça fait, il ne me reste plus qu'à essayer  
 
Marsh Posté le 17-03-2009 à 21:05:53
Le mieux c'est encore de demander ce que tu ne comprend pas.
Marsh Posté le 09-03-2009 à 21:57:25
Hi
J'ai des fichiers qui sont appelés par des nombre et je souhaitais faire un tout petit script bash pour les renommer en ajoutant 1 a la valeur numérique du nom du fichier.
Cela a l'air tout con, mais dans ma noobitude, je n'y arrive pas.
j'ai essaye ca:
ca donne "bash: syntax error near unexpected token `x=$(($f+1))'
Si je définis ma variable avant comme étant un nombre la fin du script fonctionne.
me donne bien 6
et le reste du script qui permet de renomme fonctionne aussi
Si je recherche la variable avec la boucle for cela ne fonctionne pas.
Si quelqu'un a la solution en bash ce serait sympa, merci
Message édité par dolan le 09-03-2009 à 23:18:55
---------------
Topic A7N8X - Topic UX32VD