Aide pour un script de découpage de fichier [résolu][SHELL] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 21-03-2004 à 15:58:26
regarde du côté de awk ou sed
http://www.shellunix.com/
Marsh Posté le 21-03-2004 à 16:41:35
ok merci je v voir ça
en fait, il suffirait de parcourir mon fichier, et lorsque je trouve tel ou tel code, écrire la ligne dans un autre...
mais comment lui dire d'écrire toute la ligne correspondante ?
Marsh Posté le 21-03-2004 à 16:44:30
peut-être tout bonnement avec grep :
grep ccc mon_fichier > nouveau_fichier_1
EDIT : a priori ça marche
Marsh Posté le 21-03-2004 à 17:12:37
Essaye ça :
awk ' |
Marsh Posté le 21-03-2004 à 17:46:28
ok merci bcp all, ça a l'air de marcher, je ferai des tests plus complets demain avec le vrai fichier...
merci infiniment
Marsh Posté le 22-03-2004 à 09:08:32
euh j'aurais une petite question subsidiaire
En fait mon code distinctif est numérique, et peut se retrouver ailleurs dans les lignes du fichier (j'ai plusieurs champs numériques).
Donc la solution que j'ai trouvée est de chercher mon code précédé d'une tabulation (la probabilité que le code se retrouve en début d'un autre champ est quasi nulle).
j'ai essayé avec grep \t100 par exple, mais il n'a pas l'air de prendre le \t comme une tabulation. j'ai essayé d'utiliser l'argument -e comme je l'ai vu dans une doc mais il m'envoie jeter en me disant argument inconnu (je suis sur une station Unix sous ksh).
Donc si vous aviez une solution, ça serait très cool
merci d'avance
Marsh Posté le 22-03-2004 à 09:36:10
Où se trouve le champ servant de critère pour découper ton fichier ?
Je ne vois pas comment il est possible de procéder s'il est n'est pas en position fixe (en terme de champ).
Tu dis que la solution est de rechercher le code précédé d'une tabulation, mais où récupères tu la toute première valeur du code ?
Quelle est la structure du fichier ?
Marsh Posté le 22-03-2004 à 10:17:30
Bon en fait j'ai trouvé une solution intermédiaire qui semble suffir, à savoir chercher la chaîne ' aaa' avec un espace devant...
Le problème est justement que le code n'est pas à place fixe, et que le séparateur est une tabulation...
mais bon, ma solution semble marcher, donc je mets mon prob comme résolu
merci en tt cas
Marsh Posté le 21-03-2004 à 15:44:51
salut,
Voilà je me retrouve avec un fichier texte d'environ 3Go soit plusieurs millions de lignes, et j'aimerais découper ce fichier et répartir son contenu dans plusieurs fichiers en fonction de la valeur d'un champ, qui se retrouve sur chaque ligne :
exple : j'ai les lignes
et mon critère de tri se trouve sur le 3ème champ.
j'aimerais que les 2 premières lignes se retrouvent dans un fichier , et les 2 suivantes dans un autre (par exple dans les fichiers file_ccc et file_fff)
Voilà, j'espère avoir été clair avec mon pb
Je ne demande pas un script qui marche et tout, mais simplement les commandes que je pourrais utiliser pour ça, en gros
Merci bcp d'avance
Message édité par pilou51 le 22-03-2004 à 10:17:57