Commande Unix pour travailler avec des fichiers incrémentés

Commande Unix pour travailler avec des fichiers incrémentés - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 14-09-2010 à 18:38:00    

Bonjour à tous,
 
Je cherche une commande ou un script qui permettrait de demander à un exécutable de prendre des fichiers en entrée de type rst.in.1, rst.in.2 etc... et d'écrire en sortie les fichiers correspondant rst.out.1, rst.out.2 etc...
 
Pour le moment, j'ai créé un fichier texte du genre:
process -i rst.top.1 -o rst.out.1
process -i rst.top.2 -o rst.out.2
...
que je source pour lancer toutes les commandes... J'ai régulièrement une centaine de fichiers à lancer  [:matleflou]. Pour le moment je me débrouille pour remplacer les lignes dans le fichier texte mais bon... j'imagine qu'il doit y avoir un moyen bien plus élégant et moins lourd pour effectuer cette opération.  [:airforceone]  
 
Merci pour votre aide.  [:draculette]  
 

Reply

Marsh Posté le 14-09-2010 à 18:38:00   

Reply

Marsh Posté le 14-09-2010 à 18:41:36    

L’incrémentation (et la décrémentation) est le travail même de la boucle.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 15-09-2010 à 07:45:30    

for x in `seq 1 100`
do
process -i rst.top.$x -o rst.out.$x
done


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 15-09-2010 à 10:59:25    

Merci pour le petit script.  :jap:  
Comment je le lance sous unix? en le mettant dans un fichier et en le lançant tout simplement?

Reply

Marsh Posté le 15-09-2010 à 11:02:04    

Tu peux faire les 2 ;)

Reply

Marsh Posté le 15-09-2010 à 11:48:33    

:love:  :jap:  
Je suis en train de tester sous linux pour faire la même chose. Y a un équivalent a ces lignes sous linux?

Reply

Marsh Posté le 15-09-2010 à 12:45:05    

Oo
La même chose peut être ! :p

Reply

Marsh Posté le 15-09-2010 à 13:19:54    

roondar a écrit :

Oo
La même chose peut être ! :p


Malheureusement non.  :)  
for: command not found
do :command not found

Reply

Marsh Posté le 15-09-2010 à 13:38:33    

ElfiK a écrit :


Malheureusement non.  :)  
for: command not found
do :command not found


 
Tu utilises quoi comme shell ? (bash, sh ,csh ...)

Reply

Marsh Posté le 15-09-2010 à 14:17:50    

ElfiK a écrit :


Malheureusement non.  :)  
for: command not found
do :command not found


Code :
  1. for x in `seq 1 100`; do process -i rst.top.$x -o rst.out.$x; done


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 15-09-2010 à 14:17:50   

Reply

Marsh Posté le 15-09-2010 à 14:21:57    

Fork Bomb a écrit :


Code :
  1. for x in `seq 1 100`; do process -i rst.top.$x -o rst.out.$x; done



 
puisque son shell ne supporte pas la syntaxe c'est useless ce que tu viens de poster  [:pingouino]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 15-09-2010 à 14:34:40    

black_lord a écrit :


 
puisque son shell ne supporte pas la syntaxe c'est useless ce que tu viens de poster  [:pingouino]


T’es sûr ?
J’avais compris qu’il avait copié ton code directement dans une fenêtre de shell et que c’était ça qui foirait.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 15-09-2010 à 15:35:49    

Ca marche!
J'avais juste mis les mauvaises guillemets.  [:mouais] ( :o, je suis désolaÿ )
 
C'est nickel, merci ca va me faire gagner pas mal de temps  :jap:

Reply

Marsh Posté le 15-09-2010 à 16:05:10    

pour info tu peux remplacer:

Code :
  1. for x in `seq 1 100`


par  

Code :
  1. for x in $(seq 1 100)


ou

Code :
  1. for x in {1..100}


ou

Code :
  1. for ((x=0;x<100;x++))

Reply

Marsh Posté le 15-09-2010 à 18:49:35    

roondar a écrit :

pour info tu peux remplacer:

Code :
  1. for x in `seq 1 100`


par  

Code :
  1. for x in $(seq 1 100)


ou

Code :
  1. for x in {1..100}


ou

Code :
  1. for ((x=0;x<100;x++))



 
c'est pas fini les bashismes moches ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 18-09-2010 à 14:28:39    

Oo

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed