grep sur des lignes très longues, souci [bash] - Shell/Batch - Programmation
Marsh Posté le 13-12-2011 à 10:56:06
salut,
pourquoi utiliser grep ? utilise directement sed !
Marsh Posté le 13-12-2011 à 11:33:43
Salut et merci pour ta réponse
grep à l'origine parce que j'utilisais le script pour contrôler sur la sortie console les patterns qu'il trouvait. Aussi parce que sed, une fois sorti du substitute, je suis un peu perdu. Je crois comprendre que je peux utiliser la commande insertion pour insérer des trucs après un pattern détecté, mais je ne sais pas comment lui faire passer un retour chariot. Il faut l'échapper d'une manière ou d'une autre ?
En gros, si j'ai une source du genre :
Citation : <html> |
À quoi va ressembler mon sed pour extraire, sur une sortie de n lignes, les n patterns de chiffres trouvés sur la ligne unique du dessus ?
Merci beaucoup
Marsh Posté le 13-12-2011 à 16:06:20
regarde si ça te va
Code :
|
enfin l'idée, c'est :
si il n'y a pas 10 caractères numériques qui se suivent sur la ligne, elle est effacée (d - delete)
dans le cas contraire, on substitue tout ce qui est entre crochets, crochets compris (pour l'exemple donné) par <espace>-<espace>
Marsh Posté le 13-12-2011 à 10:22:57
Bonjour à tous !
Je suis en train de coder un petit script bash qui doit parser le contenu d'une page html pour y retrouver certains motifs (des séquences de nombres) planqués dans des div.
Jusqu'aujourd'hui, je faisais simplement un grep sur la page en y cherchant la séquence de nombres, puis un sed sur chaque ligne pour en retirer tout ce qui ne m'intéressait pas.
La page que je parse a changé, et maintenant, dans la source du .htm, l'intégralité des balises dans lesquelles je recherche mes séquences se retrouve sur une seule ligne de plus de 59000 caractères, le dev a visiblement omis d'intégrer des retours chariot...
Du coup, grep perd complètement les pédales et renonce au-delà de 16000 caractères environ.
Une solution pour faire le boulot ? Je suis un peu perdu...
Merci !