J'ai un document .txt qui contient 30.000 lignes, chacune de ces lignes correspond à une animation dans un logiciel d'anim 3D donc pour savoir qui fait quoi c'est la loose.
Heureusement pour moi elles sont déjà triées par ordre alphabétique mais ça s'arrête là.
Par exemple j'ai une ligne comme ça : a2o_espressoMachine_grind_fail_x
Ce qui doit correspondre à quelque chose comme :
adulte à objet -> Machine à expresso -> moût -> échoue sur l'objet en question (x)
Mais moi souvent je cherche deux mots qui ne sont pas côte-à-côte du style "a2o + fail" pour trouver toutes les anim d'adultes qui échouent.
Ma question : Comment et sur quel logiciel (gratuit si possible) je peux trouver plusieurs termes séparés sur une même ligne, et ceux parmis toutes les lignes ?
Merci les ptit pôtes.
En ligne de commande avec du grep ça passe comme une lettre à la poste. Je crains que tu doive te servir des REGEX pour réaliser ta recherche, que ce soit en ligne de commande ou avec un bon éditeur de texte.
Yes j'ai trouvé un regex qui a l'air de fonctionner, dans Notepad++ si je tape dans la barre de recherche : a2o(.*)fail
ça me trouve toutes les lignes avec les deux résultats à condition que je les mettent dans l'odre !
Merci à tout ceux qui m'ont répondu, vous êtes tip-top les ptit pôtes o/
À mon avis il y a pas mal de solutions possibles à ton problème. Idée comme ça: pourquoi pas enregistrer ton fichier en .csv puis l'ouvrir dans un tableur en paramétrant les "_" comme des séparateurs de colonne?
Ensuite tu filtres avec les critères dont t'as besoin tu exportes ton fichier au format que tu veux?
Sinon, grep/fgrep si tu peux prendre une journée pour te former dessus ça sera jamais du temps de perdu, sed et/ou awk également pour manipuler les chaînes.
Ok je regarderai pour les tableurs un peu plus tard là j’apprends les regex, j'y connais rien à tout ces trucs j'ai l'impression d'avoir ouvert la boîte de Pandore.
heuu ouais les regex c'est un peu tendu, j'avoue que c'est un chapitre que j'ai toujours plus ou moins esquivé, bon courage! (sinon j'ai cru lire que tu bossais sous python? si t'as des bases, ça doit pouvoir se régler en quelques lignes avec un script tout ça nan? ça te permettrait ptetr de pas repartir de zéro).
Alors le python j'ai laissé tomber au bout d'un mois c'est balo ça m'aurait bien servit pour pas mal de trucs, je pense que je m'y remettrai un jour. mais là c'est bon j'ai un début de réponse avec un regex.
allright, en tout cas, si tu trouves des docs sympa et pas trop assommantes sur les regex, hésite pas à les partager sur le g/info ou g/gnu-linux, perso je suis preneur
Avec python.
en premier tu sépares les thermes de la ligne au niveau des _, tu fais une première boucle pour trouver le premier therme et tu continues pour trouver le second therme.
ce que je recommande quand t'as plusieurs thermes, c'est de prendre des bains d'argiles avec des massages enveloppants, c'est hyper relaxant.
Avec grep sous linux ou avec powershell sous windows : https://antjanus.com/blog/web-development-tutorials/how-to-grep-in-powershell/
Ça à l'air d'être hyper compliqué powershel, j'imaginais plus un traitement de texte comme excel mais en plus basique.
Et sur Excel tout simplement ? Faut juste réussir à faire en sorte qu'il reconnaisse une ligne = une cellule
Tu peux pas le convertir en bdd sqlite (il y a des outils en ligne style mygeodata.cloud) et ensuite requêter directement via sqlite browser ou équivalent ?
Comme dit Todor quand tu traites une quantité des données comme ça c'est aberrant de l'avoir en .txt.
Si tu arrives à l'avoir au format excel (ou csv) tu peux faire des petites règles de check très simples pour faire ressortir les cellules qui contiennent les mots que tu cherches.
C'est juste une liste d'animations tiré d'un moteur de jeu, à la base ça devait ressembler à du code compilé en langage python et quelqu'un là gentiment décompilé pour moi alors je m'estime encore heureux.