Txr

Un utilitaire de correspondance de motif pour une extraction de texte pratique
Télécharger maintenant

Txr Classement & Résumé

Publicité

  • Rating:
  • Licence:
  • BSD License
  • Prix:
  • FREE
  • Nom de l'éditeur:
  • Kaz Kylheku
  • Site Internet de l'éditeur:
  • http://common-lisp.net/project/meta-cvs/

Txr Mots clés


Txr La description

Un utilitaire de correspondance de motif pour une extraction de texte pratique TXR est un interprète pour la langue de requête TXR. Une requête TXR correspond à un texte et extrait des pièces en les liant aux variables intégrées à la requête. TXR peut générer les liaisons brutes recueillies à partir des données ou les substituer à un rapport de modèle à template.Great, mais nous avons déjà SED, Awk, Perl ... Bien que ces outils soutiennent le modèle correspondant sous la forme d'expressions régulières, elles font Non implémenter un modèle d'entrée en entrée correspondant paradigme comme TXR.all, mais les tâches d'extraction de texte les plus simples sont difficiles avec SED, qui est fondamentalement un programme de filtrage RegeuxP. Lorsque le format de données couvre plusieurs lignes qui corrélent ensemble, SED commence à montrer sa faiblesse. Awk et Perl sont des langages de programmation. Ils peuvent être utilisés pour effectuer une extraction de texte complexe, mais il est exprimé sous forme d'algorithme.Un modèle est une forme qui ressemble à celle qu'elle correspond. Un programme Perl ou AWK n'est pas un modèle; Il n'indique aucune ressemblance aux données qui sont traitées; Il décrit les étapes détaillées du processus plus que les données. Pour beaucoup de tels processus, une requête TXR plus précise et plus succincte peut être écrite pour faire la même chose. Une analogie peut être attirée par d'autres langues de modèle tels que des grammaires. Une grammaire BNF décrit une langue de manière à dire que le code source C ++ d'un analyseur de descente récursives ne développe pas de requête TXR, l'utilisateur commence généralement par des données d'échantillon. Les données brutes elles-mêmes sont déjà probablement une requête TXR qui correspond à elle-même, après que les soins soient prises pour échapper à certains personnages qui ont un sens particulier à TXR. Tout ce qui reste est d'identifier les pièces qui doivent être des variables et de résumer les variations de manière à ce que la requête générale à toutes les instances des données.In court-circuit, une extraction véritablement pratique et une langue de rapport est arrivée et son nom est TXR .Parler n'est pas cher; Que diriez-vous d'un exemple? Bien. Au lieu de "Bonjour, monde", que diriez-vous de quelque chose de plus avancé? Un outil que je n'aime pas dans UNIX et Linux est l'utilitaire PS pour la liste des processus. J'utilise Unix depuis 1989 et Linux depuis 1993, et je ne suis pas stupide; Pourtant, chaque fois que j'ai besoin de PS pour faire quelque chose de légèrement hors de l'ordinaire, je dois recourir à la page d'homme, puis je ne peux toujours pas le faire faire ce que je veux tout le temps.avec Txr, nous pouvons facilement faire un Utilitaire PS rapide et sale (qui repose sur le système de fichiers / Proc sur Linux). Voici à quoi ressemble la requête. Cela pourrait être enregistré dans un fichier appelé ps.txr: @ (suivant) $ / proc @ (collect) @ {processus / + /} @ (suivant) / proc / @ Process / StatutName: @ @Namestate : @ @state (@state_desc) @ (Skip) TGID: @ @tgidpid: @ @Proc_idppid: @ @ @ parent_id @ (linge pid proc_id) @ (Skip) @ (Skip) UID: @ uid @ /. * / Gid: @ @ gid @ @ /. * / @ (Suivant) $ / proc / @ processus / tâche @ (collecter) @ th @ (extraire) @ (certains) @ (Suivant) / etc / passwd @ (Skip) @user: @PW: @UID: @uid: @ /. * / @ (ou) @ (Uid uid de liaison) @ (fin) @ (sortie) @ (sortie) Utilisateur PID PID PID Threads @ (répéter) @ {utilisateur 8} @ {proc_id -5} @ {parent_id -5} @state @ {nom 16} @ (REP) @THTH, @ (premier) @ th @ (single) @ @ (fin) @ (fin) @ (fin) Maintenant, nous pouvons exécuter la requête comme suit: Shell $ TXR Ps.txrwe Obtenez la sortie qui ressemble à ceci: Utilisateur PID PIPI Nom threadsroot 10 s init ~ root 21 s ksoftitrqd / 0 ~ RACINE 31 S EVENTS / 0 ~ RACINE 43 S KHELPER ~ RACINE 53 S KACPID ~ RACINE 163 S KBLOCKD / 0 ~ RACINE 293 S AIO / 0 ~ RACINE 171 S KHUBD ~ ROOT 29542953 S BASH ~ Racine 161341887 S SSHD ~ KAZ 1613616134 S SSHD ~ KAZ 1613716136 S BASH ~ KAZ 3628 2175 S SLRN ~ RACINE 37211963 S Crond ~ Root 37223721 S Root-Pièces ~ Root 37233722 S 00-Logwatch ~ Root 37243722 s Awk ~ Root 39403723 S Mail ~ ROOT 40493723 S ZZ-DISK_SPACE ~ ROOT 40514049 S DF ~ RACINE 40524049 S Grep ~ Kaz 42661 s SSH-Agent ~ KAZ 433116137 S VIM ~ KAZ 442631908 R TXR ~ La requête TXR fonctionne en traitant les entrées numériques dans le répertoire / Proc, lisant / proc / / fichier d'état de chaque processus et la liste des threads sous / proc / / tâches. Les ID utilisateur sont résolus en faisant correspondre via le fichier / etc / passwd. Quoi de neuf dans cette version: · Il existe une nouvelle directive FreeForm pour une correspondance non structurée sur plusieurs lignes. · Les variables peuvent être liées aux regexes et utilisées pour la correspondance.


Txr Logiciels associés