Utiliser une commande awk dans awk
Résolu
th.deudon
Messages postés
399
Date d'inscription
Statut
Membre
Dernière intervention
-
th.deudon Messages postés 399 Date d'inscription Statut Membre Dernière intervention -
th.deudon Messages postés 399 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un fichier ( fichier1 ) qui pour chaque ligne, a un lien vers un fichier ( exemple : .//abcd/efg/helico.xml ) , le nombre de ligne est aléatoire et le lien l'est aussi.
(représentation de fichier1 :
.//abcd/efg/helico.xml
.//abcd/efg/avion.xml
.//abcd/efg/voiture.xml
.//abcd/efg/train.xml)
Mon but : récupérer des données de chaque fichier dont les liens sont présents.
Je sais récuperer ces données avec une fonction awk :
Cette fonction me donne les données voulues pour le fichier.xml, mais je les veux toutes, du coup j'ai eu l'idée de faire une variable qui aurait une action :
puis de faire :
Problème :
je ne sais pas quoi mettre a la place de ... , j'ai essayé PARAM_VAR , mais je reçois "cannot open PARAM_VAR (No such file or directory)"
sinon, est ce la bonne écriture pour utiliser cette action?
Merci
J'ai un fichier ( fichier1 ) qui pour chaque ligne, a un lien vers un fichier ( exemple : .//abcd/efg/helico.xml ) , le nombre de ligne est aléatoire et le lien l'est aussi.
(représentation de fichier1 :
.//abcd/efg/helico.xml
.//abcd/efg/avion.xml
.//abcd/efg/voiture.xml
.//abcd/efg/train.xml)
Mon but : récupérer des données de chaque fichier dont les liens sont présents.
Je sais récuperer ces données avec une fonction awk :
awk ' { fonction } ' fichier.xml
Cette fonction me donne les données voulues pour le fichier.xml, mais je les veux toutes, du coup j'ai eu l'idée de faire une variable qui aurait une action :
action=$ (awk ' { fonction } ' ... )
puis de faire :
awk ' {action($0) } ' fichier1 > fichier2
Problème :
je ne sais pas quoi mettre a la place de ... , j'ai essayé PARAM_VAR , mais je reçois "cannot open PARAM_VAR (No such file or directory)"
sinon, est ce la bonne écriture pour utiliser cette action?
Merci
A voir également:
- Utiliser une commande awk dans awk
- Invite de commande - Guide
- Comment utiliser chromecast sur tv - Guide
- Commande terminal mac - Guide
- Utiliser une tablette comme ecran pc - Guide
- Utiliser iphone comme webcam - Guide
2 réponses
awk 'BEGIN{while(getline<"fichier1" >0)ARGV[++n]=$0; ARGC+=n}{print "traitement du fichier : "FILENAME", ligne "FNR" : "$0}'
salut,
un mot = une notion
un fichier, c'est un fichier.
un répertoire, c'est un répertoire.
un lien, c'est un lien vers un fichier.
sois plus rigoureux dans ton exposé, stp.
un mot = une notion
un fichier, c'est un fichier.
un répertoire, c'est un répertoire.
un lien, c'est un lien vers un fichier.
sois plus rigoureux dans ton exposé, stp.
J'ai un fichier ( fichier1 ) qui pour chaque ligne, a un lien vers un fichier ( exemple : .//abcd/efg/helico.xml ) , le nombre de ligne est aléatoire et le lien l'est aussi.
(représentation de fichier1 :
.//abcd/efg/helico.xml
.//abcd/efg/avion.xml
.//abcd/efg/voiture.xml
.//abcd/efg/train.xml)
Mon but : récupérer des données de chaque fichier dont les liens sont présents.
Je sais récuperer ces données avec une fonction awk :
awk ' { fonction } ' fichier.xml
Cette fonction me donne les données voulues pour le fichier.xml, mais je les veux toutes, du coup j'ai eu l'idée de faire une variable/fonction qui aurait une action :
action=$ (awk ' { fonction } ' ... )
puis de faire :
awk ' {action($0) } ' fichier1 > fichier2
Problème :
je ne sais pas quoi mettre a la place de ... , j'ai essayé PARAM_VAR , mais je reçois "cannot open PARAM_VAR (No such file or directory)"
sinon, est ce la bonne écriture pour utiliser cette action?
(représentation de fichier1 :
.//abcd/efg/helico.xml
.//abcd/efg/avion.xml
.//abcd/efg/voiture.xml
.//abcd/efg/train.xml)
Mon but : récupérer des données de chaque fichier dont les liens sont présents.
Je sais récuperer ces données avec une fonction awk :
awk ' { fonction } ' fichier.xml
Cette fonction me donne les données voulues pour le fichier.xml, mais je les veux toutes, du coup j'ai eu l'idée de faire une variable/fonction qui aurait une action :
action=$ (awk ' { fonction } ' ... )
puis de faire :
awk ' {action($0) } ' fichier1 > fichier2
Problème :
je ne sais pas quoi mettre a la place de ... , j'ai essayé PARAM_VAR , mais je reçois "cannot open PARAM_VAR (No such file or directory)"
sinon, est ce la bonne écriture pour utiliser cette action?
EDIT : alors deja il aime pas le fait qu'on lui dise pas quoi on traite ( apres le dernier ' )
et du coup j'ai rien en sortie
en fait, on le lui dit; c'est à ça que sert ARGV.
comment est généré le fichier1 ?
les fichiers qui y sont listés existent-ils ?
alors ok, j'ai l'impression que ca me lit tout, mais comment je fais l'action voulue ( récupérer les données ) , car la j'ai 10000000000 de données pour 3 intéressantes ;)