Utiliser une commande awk dans awk
Résolu
th.deudon
Messages postés
449
Statut
Membre
-
th.deudon Messages postés 449 Statut Membre -
th.deudon Messages postés 449 Statut Membre -
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
- Utiliser iphone comme webcam - Guide
- Comment utiliser teamviewer - Guide
- Comment utiliser wetransfer - Guide
2 réponses
Résumé de la discussion
Le problème porte sur un fichier référençant des liens vers d'autres fichiers et sur la récupération des données présentes dans chacun via une fonction awk.
Plusieurs réponses proposent de lire les liens depuis fichier1 et d'exécuter sur chaque fichier référencé une commande awk, le code étant stocké dans une variable et appelé comme action.
Des pistes techniques évoquées incluent getline dans BEGIN pour boucler sur fichier1, l'extraction de NF-1 pour le chemin, et la gestion appropriée des variables et des résultats.
En pratique, des alternatives comme un fichier trajectoire de liens ou une boucle for pour traiter les fichiers un par un sont évoquées, sans trancher sur une solution unique.
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 ;)