GAWK et extraire des données recursivement
Résolu/Fermé
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
-
26 juil. 2009 à 17:25
SAW5 Messages postés 111 Date d'inscription vendredi 14 novembre 2008 Statut Membre Dernière intervention 6 janvier 2010 - 27 juil. 2009 à 18:03
SAW5 Messages postés 111 Date d'inscription vendredi 14 novembre 2008 Statut Membre Dernière intervention 6 janvier 2010 - 27 juil. 2009 à 18:03
A voir également:
- GAWK et extraire des données recursivement
- Extraire une video youtube - Guide
- Extraire son video - Guide
- Trier des données excel - Guide
- Extraire image pdf - Guide
- Excel validation des données liste - Guide
7 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
26 juil. 2009 à 17:51
26 juil. 2009 à 17:51
Salut,
Avec "sed" ça ne t'intéresse pas ?
Merci de retirer la pub de ta signature à l'avenir !
Avec "sed" ça ne t'intéresse pas ?
Merci de retirer la pub de ta signature à l'avenir !
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
26 juil. 2009 à 17:53
26 juil. 2009 à 17:53
hello
du DOS, les puristes vont hurler :-)
du DOS, les puristes vont hurler :-)
$ cat f1.txt 1 2 3 4 32453254wdf35454sdf <- ligne n 5 qsfwdg645645645354 dwg454554654 888888 999999 dwgdgx6546545 <- ligne n 10 11 12 13 $ cat f2.txt 1 2 3 4 jkluhfqdulidfqs554df <- ligne n 5 fkhdf54636354654fsd fuihdf54654645sfd 88888 999999 fsdoijdf646464d <- ligne n 10 11 12 $ echo off for %f in (f1.txt f2.txt) do gawk "NR >= 5 && NR <= 10 {print $0}" %f 32453254wdf35454sdf <- ligne n 5 qsfwdg645645645354 dwg454554654 888888 999999 dwgdgx6546545 <- ligne n 10 jkluhfqdulidfqs554df <- ligne n 5 fkhdf54636354654fsd fuihdf54654645sfd 88888 999999 fsdoijdf646464d <- ligne n 10
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
26 juil. 2009 à 17:56
26 juil. 2009 à 17:56
sed -ns '6,9p' fich*;-))
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
7
26 juil. 2009 à 18:37
26 juil. 2009 à 18:37
merci beaucoup pour tous .. mon 1er code était
quels changement dois-je faire pour qu'il fonctionne ? avec la fonction system()
merci encore
BEGIN{ var=system("dir/a-d/b *.txt") print var }
quels changement dois-je faire pour qu'il fonctionne ? avec la fonction system()
merci encore
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
27 juil. 2009 à 08:36
27 juil. 2009 à 08:36
je pense qu'il vaut mieux exécuter une boucle extérieure pour trouver les fichiers. Une fois les fichiers trouvés il faudrait, à l'intéreur de gawk les ouvrir et les traiter, perl serait plus adapté.
for /f "tokens=*" %f in ('dir /a-d /b *.txt') do <gawk ou sed pour traiter les fichiers trouvés>
sinon, system() ne retourne pas le résultat de la commande, mais son status de fin. pour récupérer des noms de fichiers dans un tableau x, il faudrait faire:
gawk "BEGIN{n=0;while(\"dir /a-d /b *.txt\"|getline){x[n++]=$0;print $0}}"<NUL
for /f "tokens=*" %f in ('dir /a-d /b *.txt') do <gawk ou sed pour traiter les fichiers trouvés>
sinon, system() ne retourne pas le résultat de la commande, mais son status de fin. pour récupérer des noms de fichiers dans un tableau x, il faudrait faire:
gawk "BEGIN{n=0;while(\"dir /a-d /b *.txt\"|getline){x[n++]=$0;print $0}}"<NUL
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
7
27 juil. 2009 à 11:34
27 juil. 2009 à 11:34
bonjour et merci encore dubcek,
En Perl "hybride-inline" ça doit donner une chose du genre:
merci pour le code, peux-tu m'expliquer brièvement les syntaxes utiliser, car le help de GAWK
GAWK --help lui même doit avoir un help..on ne comprends rien il n'y a pas d'exemples...merci encore
et quel est la différence avec:
j'ai pas compris la différence entre "resultat" d'une commande et son "status" ?
Qui sait peut être que ce POST devienne une réference plus tard..on ne sait jamais ;)
merci et @+
En Perl "hybride-inline" ça doit donner une chose du genre:
for %a in (*.txt) do perl -ne "print if($. >= 5 && $. <=9)" "%a"
gawk "BEGIN{n=0;while(\"dir /a-d /b *.txt\"|getline){x[n++]=$0;print $0}}"<NUL
merci pour le code, peux-tu m'expliquer brièvement les syntaxes utiliser, car le help de GAWK
GAWK --help lui même doit avoir un help..on ne comprends rien il n'y a pas d'exemples...merci encore
et quel est la différence avec:
gawk "BEGIN{system(\"dir/b/a-d *.txt\");print var}"
j'ai pas compris la différence entre "resultat" d'une commande et son "status" ?
Qui sait peut être que ce POST devienne une réference plus tard..on ne sait jamais ;)
merci et @+
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 625
27 juil. 2009 à 13:52
27 juil. 2009 à 13:52
toutes les commandes, DOS ou Linux retournent un status, errorlevel en DOS, $? en shell Linux, en général 0 pas de problème, 1 (ou plus) il y a eu un problème, ex. en DOS:
$ dir zzzz
Fichier introuvable
$ echo %errorlevel%
1
$ dir /b f1.txt
f1.txt
$ echo %errorlevel%
0
ce code affiche et stocke le nom de chaque fichier dans un tableau appellé x pour un traitement ultérieur dans gawk, ici on n'en fait rien
ce code affiche le résultat de la comande dir et le status qu'elle retourne, 0 donc ok
$ dir zzzz
Fichier introuvable
$ echo %errorlevel%
1
$ dir /b f1.txt
f1.txt
$ echo %errorlevel%
0
gawk "BEGIN{n=0;while(\"dir /a-d /b *.txt\"|getline){x[n++]=$0;print $0}}"<NUL f1.txt f2.txt
ce code affiche et stocke le nom de chaque fichier dans un tableau appellé x pour un traitement ultérieur dans gawk, ici on n'en fait rien
gawk "BEGIN{var=system(\"dir/b/a-d *.txt\");print var}" f1.txt f2.txt 0
ce code affiche le résultat de la comande dir et le status qu'elle retourne, 0 donc ok
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
7
27 juil. 2009 à 18:03
27 juil. 2009 à 18:03
merci dubcek du retour et de ta contribution fort précieuse