|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : mai 2007 Messages : 138 ![]() |
Bonjour,
sous HP-UX, je dois faire des modifications (substitution d'une chaîne par une autre de même longueur) dans un fichier qui contient des lignes de texte > 3000c sed, awk et vi refusent obstinement de faire quoique ce soit. La limite pour ces utilitaires est de 3000c ( c'est un peu nul pour un système 64bits !!!!) Comment faire ? Merci pour votre aide |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 685 ![]() |
Bonjour noooop,
As-tu, sous HP-UX, la commande split? Avec une boucle qui coupe le fichier en "morceaux" de 1000 lignes (split -l 1000), fait les traitements puis réassemble avec un joli cat, ce serait possible...
__________________
Un problème bien posé est déjà résolu (H. Bergson). |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 664 ![]() |
Une solution consiste a utiliser gawk ou nawk
|
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() Inscription : mai 2007 Messages : 138 ![]() |
je regarde ..... réponse dans 2minutes
Citation:
Citation:
Après il faut que je défasse l'opération split et donc remettre à plat ma structure XML (ce n'est pas moi qui génère le xml. Ce serait trop simple) |
||
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 685 ![]() |
Oops, j'ai compris! Ce sont les lignes qui font plus de 3000 caractères, pas le fichier qui fait plus de 3000 lignes! Okay, je réfléchis...
__________________
Un problème bien posé est déjà résolu (H. Bergson). |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 664 ![]() |
Si tu ne peux pas utiliser nawk ou gawk, la solution solution qui reste à mon avis, c'est d'écrire un programme en C
|
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 685 ![]() |
Bon, avec ton shell adoré (Bash, KSH) peux-tu travailler avec les variables? Du genre:
Toussa dans une jolie boucle avec un while read qui va bien?
__________________
Un problème bien posé est déjà résolu (H. Bergson). |
|
|
00
|
|
|
#8 | |
|
Membre habitué
![]() Inscription : mai 2007 Messages : 138 ![]() |
Citation:
Bingo....je cherchais dans ksh. Oui j'arrive à affecter aux variables des longueurs conséquentes. Je vais tester de ce pas. Merci BEAUCOUP !!!! Sinon, il me restera a développer ça en C, si le temps de traitement est trop long en shell |
|
|
|
00
|
|
|
#9 | ||||
|
Membre habitué
![]() Inscription : mai 2007 Messages : 138 ![]() |
Je viens d'essayer ca depuis le manuel KSH:
Code :
Code :
|
||||
|
|
00
|
|
|
#10 | |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 129 ![]() |
Citation:
Donc a moins que tu ne puisses la mettre a jour, tu vas devoir trouver une autre solution... |
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : mai 2007 Messages : 138 ![]() |
Après de multiples recherche, j'ai essayé la commande ed. Mais là aussi celà ne marche pas. Donc pour résumer: sous hp-ux sed, grep, awk et ed ne fonctionne pas sur des fichiers qui contiennent des lignes de longueur supérieur a 3000c.
Résolu en utilisant Perl |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com