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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  mélanger shell et awk

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mélanger shell et awk

n°1126333
misterZida​ne
Posté le 04-04-2009 à 19:51:04  profilanswer
 

Bonjour à toutes et à tous !  :hello:  
J'aimerais savoir si l'on peut récupérer des variables (calculées dans awk) dans un script en shell :
 
cat fichier | awk '{
x=substr($0,1,10);
y="'$(sh ./unAutreScript $x)'";
print y;
}'
 
Donc ce qui ne marche pas dans mon script est :
y="'$(sh ./unAutreScript $x)'";
 
Car je n'arrive pas à récupérer la variable x...
Savez-vous si cela est possible ?
Merci.

mood
Publicité
Posté le 04-04-2009 à 19:51:04  profilanswer
 

n°1126334
misterZida​ne
Posté le 04-04-2009 à 20:39:05  profilanswer
 

Je viens de trouver la solution pour une variable mais pas plusieurs :
cat fichier | awk '{
a=substr($0,1,10);
b=substr($0,10,20);
y="'$(sh ./unAutreScript '"a"')'";
print y;
}'  
--> Marche
 
Mais ci-dessous le code (avec deux variables) qui ne marche pas :
cat fichier | awk '{
a=substr($0,1,10);
b=substr($0,10,20);
y="'$(sh ./unAutreScript '"a b"')'";
print y;
}'

n°1126405
matafan
Posté le 05-04-2009 à 14:19:17  profilanswer
 

Houla ce que tu fais ce n'est pas du tout la bonne méthode. Pour exécuter un programme externe dans un script awk, il faut utiliser la fonction system(). Si en plus tu as besoin (comme dans ton cas) de récuéper la sortie de ladite commande, il faut utiliser la fonction getline() :

"sh ./unAutreScript " a " " b | getline y


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

  mélanger shell et awk

 

Sujets relatifs
[shell script] Compter des repertoires[Shell script] Comment convertir une ligne en tableau
[Shell] Remplacer dans un fichier en ligne de commandecreation shell account Pour utiliser bnc et eggdrop
Shell : comment ajouter une seconde à une heure donnée?shell et sudo -i
[SHELL] Insertion chaine de caractèresShell boucle et condition
accès shell vmware esx 
Plus de sujets relatifs à : mélanger shell et awk


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