Script Shell et Awk
Résolu/Fermé
Morgoths
Messages postés
4
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
21 avril 2010
-
Modifié par Morgoths le 21/04/2010 à 16:35
Morgoths Messages postés 4 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 21 avril 2010 - 21 avril 2010 à 17:10
Morgoths Messages postés 4 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 21 avril 2010 - 21 avril 2010 à 17:10
A voir également:
- Script Shell et Awk
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
6 réponses
dubcek
Messages postés
18781
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 avril 2025
5 630
21 avril 2010 à 16:22
21 avril 2010 à 16:22
je pense que awk ne comprend pas que la variable volid contient un test à interprèter. J'utilise la variable VOLID du shell dans awk, chez moi ça fonctionne
$ ./f1 V4 0005 $ ./f1 V4 V0 0002 0004 0005 $ $ head f1 #!/bin/sh VOLID='(' for i in $@ do VOLID=$VOLID'($14=='\"$i\"')||' done VOLID=$VOLID'(1==0))' cat fichier | awk -F ',' ''"${VOLID}"' && $1 !~ /^single/ {print $2}' $
dubcek
Messages postés
18781
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 avril 2025
5 630
21 avril 2010 à 16:39
21 avril 2010 à 16:39
autre méthode, on crée un fichier de commande awk
j'utilise cat, plus pratique que echo si il y a plusieurs lignes
j'utilise cat, plus pratique que echo si il y a plusieurs lignes
VOLID='(' for i in $@ do VOLID=$VOLID'($14=='\"$i\"')||' done VOLID=$VOLID'(1==0))' cat << XX > /tmp/f1.awk ${VOLID} && \$1 !~ /^single/ {print \$2} XX awk -F ',' -f /tmp/f1.awk fichier
dubcek
Messages postés
18781
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 avril 2025
5 630
Modifié par dubcek le 21/04/2010 à 16:03
Modifié par dubcek le 21/04/2010 à 16:03
hello
essaye avec
lire:
quote quote guillemet ${VOLID} guillemet quote
essaye avec
cat $FICHIER_IN | awk -F ',' ''"${VOLID}"' && $1 !~ /^single/ {print $2}'
lire:
quote quote guillemet ${VOLID} guillemet quote
Morgoths
Messages postés
4
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
21 avril 2010
21 avril 2010 à 16:09
21 avril 2010 à 16:09
merci de ton aide
je viens de tester sans succès
il me semble que pour utiliser une variable dans le awk tu est obligé de passer par l'option -v nan ?
je viens de tester sans succès
il me semble que pour utiliser une variable dans le awk tu est obligé de passer par l'option -v nan ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Morgoths
Messages postés
4
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
21 avril 2010
21 avril 2010 à 16:33
21 avril 2010 à 16:33
haaaaa MERCIIII
j'ai modifier un peu le jeu des guillemets et tout fonctionne parfaitement
merci beaucoup tu me tire une belle épine du pied
j'ai modifier un peu le jeu des guillemets et tout fonctionne parfaitement
merci beaucoup tu me tire une belle épine du pied
VOLID='(' for i in $@ do VOLID=$VOLID'($14=='\"$i\"')||' done VOLID=$VOLID'(1==0))' cat $FICHIER_IN | awk -F ',' ' '${VOLID}'&& ($1 !~ /^single/) {print $2}'
Morgoths
Messages postés
4
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
21 avril 2010
21 avril 2010 à 17:10
21 avril 2010 à 17:10
ok merci je test ça