Pour les ensembles de données similaires à ceux suivants: quelles variables (1, 2, 3 ci-dessus) apparaissent est incohérente. J'aimerais qu'il se débarrasse des sections dans lesquelles il trouve: p> pour revenir: p> veuillez laisser moi savoir si des détails supplémentaires sont utiles. Merci d'avance. P> p>
3 Réponses :
boucle sur l'entrée, une ligne à la fois. Si la ligne actuelle correspond à <étiquette, oneoption = true> code>, ignorez-le et chaque ligne jusqu'à la ligne suivante contenant
étiquette> code>. Sinon, imprimez-la et toutes les lignes jusqu'à la ligne suivante contenant
étiquette> code>. Ou vous pouvez avoir envie et utiliser l'un des nombreux modules de traitement XML Traitement, mais cela ne semble pas nécessaire. P>
Cette réponse dit essentiellement "pour éliminer certaines lignes, en supprimant simplement ces lignes". Je ne vois pas comment cela est utile.
Absurdité. C'est une description de l'algorithme nécessaire pour faire le travail. Si j'avais posté un échantillon de code, auriez-vous la même plainte?
Lorsque le débordement de la pile n'est pas un service de rédaction de code, cette réponse semble suffisante compte tenu des informations fournies.
J'aime ça beaucoup vraiment. C'est mieux que l'approche générale que je prenais (indexation et impression basée sur des emplacements combinés d'en quelque sorte = vrai et / label).
@Paulm. Sildright, il semble que, même si cette réponse sonnait très évidente une inutile pour moi, c'était en fait utile pour l'OP. Si vous le modifiez, je vais supprimer mon bowvote (pas besoin de changer quoi que ce soit, il suffit de le modifier: un bowvote peut être annulé que si la réponse est modifiée). Désolé pour ça, on dirait que tu avais raison :)
Cela vous donnera la sortie que vous démontrez la lecture à partir d'une entrée standard:
Ou à l'aide de bon vieux SED pour une doublure pour faire le même sed -ne '/ <étiquette, quelqueoption = false /, / <\ / étiquette> / p'
Ou si vous voulez coller avec Perl, votre one-liner est perl -ne 'Imprimer sauf si / <étiquette, ONOPTION = TRUE /. / <\ / ETIQUETTE> /' ' CODE>
@Dada c'est une solution beaucoup plus agréable
Si le fichier peut s'intégrer en mémoire, vous pouvez essayer la ligne de commande Perl avec vos entrées données, p>
@zdim .. j'ai une question .. Comment lire un fichier en mode binaire et imprimer chaque octet à Hexadecimal .. Dans une perl un-doublon
@zdim .. Yep .. nettoyé
<étiquette, quelqueoption = true> code> la virgule ici après la balise, rend ce HTML invalide. Il serait préférable que les balises soient valides HTML, sinon vous devez expliquer une charge de merde pour correspondre à ceci. Une sorte de comme tomber le trou de lapin. Sans la virgule, vous pourriez faire ce
<([\ w:] +) (? = (?: [^> "']" "] *" |') * ? \ ssomeoption = false) \ s + (?: "[\ s \ s] *?" | '[\ s \ s] *?' | [^>] *?) +> code> et Obtenez étiquette i> étiquette à utiliser dans la partie de fermeture
[\ s \ s] *? \ 1 \ s *. code>
Qu'avez-vous essayé? S'il vous plaît dites-nous quels problèmes vous rencontrez.