Bonjour,
J'ai un lot de gros fichiers ascii qu j'aimerai traiter de la maniére suivante :
Une des colonnes de ces fichiers, peut importe laquelle ( mettons la $5 pour notre exemple ) contient des nombres entiers qui s'incrémentent à certaines lignes :
$5=
1
1
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
4
4
[...]
J'aimerai que pour un "bloc", c'est à dire pour toutes les lignes ayant un même nombre, le formatage soit le suivant : 1 pour la première ligne, 2 pour toutes les suivantes et 3 pour la dernière. ( ce que correspond dans le soft à que j'alimenterai avec ce ficher à un poser de crayon, au tracage d'un segment pui à un lever de crayon).
Concrètement, en reprenant l'exemple précédent, ma $5 deviendrai :
$5=
1
2
2
2
3
1
2
2
3
1
2
2
2
2
2
2
3
1
3
[...]
Quand j'ai peu de fichiers et qu'ils font moins de 32000 lignes, sous excel c'est facile. Mais j'aimerai une solution plus élégante qui fonctionne en mettant mon fichier en argument d'entrée et qui me sorte mon fichier reformaté.
Pour ce qui est de la programmation , je m'en sort la plupart du temps avec sed et awk, mais là, étant donné que la valeur d'une ligne va dépendre de la précédente, je galére un peu avec awk, qui lit ligne a ligne.
J'ai essayé en stockant dans une variable la valeur de la ligne i le temps de comparer avec i+1 mais au final y'a toujours quelquechose qui va pas...
Si vous avec des idées, je suis preneur...
Merci d'avance, et n'hésitez pas a me questionner si j'ai pas été très clair.
Configuration: Windows 7
Firefox 3.5.5
Emulation Unix Exceed et Cygwin.