comment extraire plusieurs chaine de caracteres d'un fichier ??? - Shell/Batch - Programmation
Marsh Posté le 19-04-2011 à 13:10:24
Pourquoi vouloir faire ça en shell/batch? Il y a une contrainte spécifique?
Il y a tout un tas de langages interprétés comme perl, python, voire même awk qui me paraissent plus adaptés pour ce type de tache.
A+,
Marsh Posté le 19-04-2011 à 22:15:31
merci pour cette &er reponse
je ne connais pas perl mais awk oui, et je suis prenneur de toutes solutions.....
Marsh Posté le 20-04-2011 à 10:30:23
Bon alors, il faudrait nous expliquer comment un bloc est délimité dans le fichier:
Les blocs sont séparés par une ligne vide?
La première ligne d'un bloc c'est du texte, un blanc, des chiffres, un blanc, du texte?
La dernière ligne d'un bloc est "nnnn" pour tous les blocs?
A+,
Marsh Posté le 20-04-2011 à 12:41:06
alors la 1er ligne c'est obligatoirement 6 lettre, 1 espace, 2 chiffre, 1 espace, 6 lettres
les ligne suivantes sont aleatoirement des chiffres et des lettres avec des espaces
la derniere ligne de chaque block est obligatoirement: nnnn
voili voila
Marsh Posté le 20-04-2011 à 12:42:51
oups desolé j'oubliais, il y a une ligne vide entre chaque block (apres le nnnn ou avant la 1er ligne de chaque block de données)
Marsh Posté le 20-04-2011 à 21:29:30
Désolé, une coupure de courant pendant que je rédigeais ma réponse vers 13h30 m'avait arrété dans mes élans.
Voici un exemple de solution possible en perl, a adapter a ses besoins:
Code :
|
J'ai testé sur un fichier exemple blocksfile.txt
sabbcc 56 hfjgkf |
C:\Perl>perl blocksfile.pl
ça m'a donné trois fichiers en sortie:
savedblock1.txt
sabbcc 56 hfjgkf |
savedblock2.txt
ftncdd 76 fhgjfg |
savedblock3.txt
xynzee 87 fjhfjg |
A+,
Marsh Posté le 21-04-2011 à 06:05:21
excellent je teste et te tiens au courrant.....merci merci
Marsh Posté le 19-04-2011 à 10:57:32
Bonjour
je suis nouveau dans la programation en shell aussi je vous remercie par avance.
ma question est la suivante:
j'ai un fichier avec un nom XYZ.xxx
a l'interieur de ce fichier j'ai plusieurs ligne de caracteres sous forme de blocs:
1er blocs
sabb 56 hfjgkfjsdh
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
nnnn
2eme blocs
ftnc 76 fhgjfgklsdls
yyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyy
nnnn
3eme blocs
xynz 87 fjhfjgkfldl
wwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwww
nnn
.
.
.
etc
x blocs de caracteresl
e fichier se termine sur le dernier blocs par nnnn
comment puis je extraire chaque x block de caractere commencant (par exmeple le 3eme blocs)
xynz 87 fjhfjgkfldl et finissant par nnnn ???? comment puis je egalement ecrire chacun de ces blocs dans des fichier texte dont les nom de chacun des ces fichiers sera la 1er ligne de caractere du bloc extrait ???
j'ai quelques idée mais je ne sais pas trop par ou commencer
merci par avance de l'aide fourni