Lancer Awk dans un bash

Lancer Awk dans un bash - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 10-07-2007 à 10:53:28    

Salut à tous,
Je suis un ultra noob en linux, que je viens de découvrir pendant mon stage [:tinostar]
Bon, pour les opérations simples, ca va, mais là je trouve pas, et la recherche ne m'a rien donné
 
Voici mon problème : je traite des fichiers textes de données.  
J'ai plusieurs programmes qui traitent un fichier :
1) programme fortran pour l'input, qui demande tous les paramètres requis
2) programme awk qui traite un gros fichier et sort un fichier bien rangé
3) programme fortran de postprocessing de ce fichier
4) affichage de courbes
 
Je veux automatiser ce processus, donc j'ai pensé à un bash de tout ca.
Le problème, c'est que en 1, je rentre le nom du gros fichier à traiter par awk.
Mais awk se lance par la commande "awk -f truc.awk fichier.dat" donc le nom que je rentre dans le programme fortran doit se retrouver dans la commande pour lancer awk !
Et je suis coincé, je ne sais pas comment faire  :cry:  
 
Avez-vous une idée ? merci
 


---------------
L'APS-C Vaincra :o ├ Galerie ┤ ├ Rome ┤ ├ Belgique ┤
Reply

Marsh Posté le 10-07-2007 à 10:53:28   

Reply

Marsh Posté le 10-07-2007 à 10:58:20    

J'y pense, est-il possible de rentrer une variable dans une commande bash ?
 
Car a la limite, je pourrais faire un truc du genre :
"bash truc fichier_a_traiter" avec fichier à traiter en variable
et je pourrais alors lancer awk en utilisant cette variable  
 
 [:autobot]


---------------
L'APS-C Vaincra :o ├ Galerie ┤ ├ Rome ┤ ├ Belgique ┤
Reply

Marsh Posté le 10-07-2007 à 11:00:33    

Utilise un read pour récupérer la variable donnée par l'utilisateur, variable que tu rebalances dans chaque commande qui a besoin du nom du fichier. :)


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

Marsh Posté le 10-07-2007 à 11:00:50    

Tu as déjà écrit ton bash ?
 
Sinon, si tu as les noms de fichiers, et tes params, c'est vraiment tout bête ...
 

Code :
  1. #! /bin/bash
  2. # on suppose que le nom du fichier fichier.dat est le premier param de la ligne de commande bash
  3. PARAM_AWK="$1"
  4. machin.fortran "$PARAM_AWK"
  5. awk -f truc.awk "$PARAM_AWK"
  6. bidule.fortran "$PARAM_AWK"
  7. dessin_des_courbes


 
non ?


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

Marsh Posté le 10-07-2007 à 11:04:49    

Ok c'est exactement ce qu'il me fallait  :D  
Je vous l'ai dit, je suis un super noob
merci à vous 2  :jap:


---------------
L'APS-C Vaincra :o ├ Galerie ┤ ├ Rome ┤ ├ Belgique ┤
Reply

Marsh Posté le 10-07-2007 à 11:06:34    

Sinon, en fouinant un peu sur gougleuh, tu peux trouver plein de scripts shell qui peuvent te servir d'exemple ... :spamafote:
 
Mais bon, venir ici, caÿbien aussi :D


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

Marsh Posté le 10-07-2007 à 11:10:45    

Ah ouais, mais en fait on peut faire des trucs péchus avec cette commande.
Je vais m'amuser un peu, ca va impressionner mon tuteur de stage  :whistle:


---------------
L'APS-C Vaincra :o ├ Galerie ┤ ├ Rome ┤ ├ Belgique ┤
Reply

Sujets relatifs:

Leave a Replay

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