Txr

Een patroon matching hulpprogramma voor handige tekst-extractie
Download nu

Txr Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Kaz Kylheku
  • Uitgever website:
  • http://common-lisp.net/project/meta-cvs/

Txr Tags


Txr Beschrijving

Een Pattern Matching Utility voor Handig Text Extraction TXR is een tolk voor de TXR query-taal. Een TXR zoekopdracht overeenkomt met tekst en extracten stukken door te binden ze naar variabelen die zijn ingebed in de query. TXR kan de uitgang van de ruwe bindingen verzameld van de gegevens, of monteer ze in een template-gedreven report.Great, maar we hebben al sed, awk, perl ... Hoewel deze tools ondersteunen patroonherkenning in de vorm van reguliere expressies, ze doen geen implementatie geheel ingangen patroonherkenning paradigma zoals txr.All maar de eenvoudigste tekst extractie taken moeilijk met sed, die in feite een reguliere expressie filterprogramma. Wanneer het dataformaat overspanningen meerdere lijnen, die elkaar correleren, sed begint zijn zwakte. Awk en perl zijn programmeertalen. Ze kunnen worden gebruikt om complexe tekst extractie uit te voeren, maar het is uitgedrukt als een algorithm.A patroon is een vorm die lijkt op die waarin het overeenkomt. Een perl of awk programma geen patroon; Het lijkt niet op de gegevens die worden verwerkt; Het beschrijft de gedetailleerde stappen van het proces meer dan de gegevens. Voor veel van dergelijke processen kan een duidelijkere, beknoptere TXR vraag worden geschreven om hetzelfde te doen. Een analogie kan worden getrokken met ander patroon talen zoals grammatica. Een BNF grammatica beschrijft een taal op een manier die bijvoorbeeld de C ++ broncode van een recursieve afdaling parser doet not.To ontwikkelen van een TXR zoekopdracht, de gebruiker gewoonlijk begint voorbeeldgegevens. De ruwe data zelf is al waarschijnlijk een TXR vraag die zichzelf wedstrijden, nadat zorg is genomen om sommige tekens die een speciale betekenis voor TXR hebben te ontsnappen. Het enige dat overblijft is om de onderdelen te identificeren die moeten variabelen, en om de variaties samen te vatten, zodat de query veralgemeent om alle exemplaren van de data.In Kortom, een echt praktische extractie en het verslag van de taal is aangekomen, en haar naam is TXR .Praten is goedkoop; wat dacht je van een voorbeeld? Fine. In plaats van "Hello, world", wat dacht je van iets meer gevorderd? Een tool dat ik een hekel in Unix en Linux is de ps hulpprogramma voor het aanbieden van processen. Ik gebruik Unix sinds 1989 en Linux sinds 1993, en ik ben niet dom; toch, wanneer ik ps moet iets doen iets uit het gewone, heb ik hun toevlucht nemen tot de man pagina, en dan heb ik nog steeds niet krijgen om te doen wat ik wil de helft van de time.With TXR, kunnen we gemakkelijk een quick and dirty ps nut (die zich baseert op de / proc bestandssysteem op Linux). Hier is wat de query eruit ziet. Dit kan worden opgeslagen in een bestand genaamd ps.txr: @ (volgende) $ / proc @ (collect) @ {proces / + /} @ (volgende) / proc / @ proces / statusName: @ @nameState : @ @state (@state_desc) @ (skip) Tgid: @ @tgidPid: @ @proc_idPPid: @ @ @ parent_id (bind pid proc_id) @ (bind ppid parent_id) @ (skip) BTW: @ @ @ @ uid /. * / Gid:. @ @ GID @ @ / * / @ (volgende) $ / proc / @ proces / taak @ (collect) @ thr @ (eind) @ (bind draad THR) @ (sommige) @ (volgende) / etc / passwd @ (skip) @user: @pw: @uid. @ / * / @ (of) @ (bind user uid) @ (eind) @ (eind) @ (output) uSER PID PPID NAAM DRADEN @ (herhaling) @ {8} user @ {proc_id -5} @ {parent_id -5} @state @ {name} 16 @ (rep) @thr, @ (eerste) @ (laatste) @ @ thr (single) ~ @ (eind) @ (eind) @ (eind) Nu kunnen we de query als dit uitvoeren: shell $ TXR ps.txrWe get uitgang die ziet er als volgt: USER PID PPID NAAM THREADSroot 10 S init ~ wortel 21 S ksoftirqd / 0 ~ wortel 31S evenementen / 0 ~ wortel 43S khelper ~ wortel 53S kacpid ~ wortel 163S kblockd / 0 ~ wortel 293S Aio / 0 ~ wortel 171S khubd ~ wortel 29542953 S dreun ~ wortel 161341887 S sshd ~ kaz 1613616134 S sshd ~ kaz 1613716136 S dreun ~ kaz 3628 2175 S slrn ~ wortel 37211963 S crond ~ wortel 37223721 S opstartgedeeltes ~ wortel 37233722 S 00-logwatch ~ wortel 37243722 S awk ~ wortel 39403723 S mail ~ wortel 40493723 S zz-disk_space ~ wortel 40514049 S df ~ wortel 40524049 S grep ~ kaz 42661S sSH-agent ~ kaz 433116137 S vim ~ kaz 442631908 R TXR ~ de TXR vraag werkt door het verwerken van de numerieke invoer in de / proc, lezen / proc / / statuut file van elk proces, en de lijst van onderwerpen die onder / proc / / taken. De gebruikersidentificatie worden opgelost door het afstemmen door het / etc / passwd. Wat is er nieuw in deze release: · Er is een nieuwe freeform richtlijn voor ongestructureerde matching over meerdere lijnen. · Variabelen kunnen worden gebonden aan reguliere expressies en gebruikt voor matching.


Txr Gerelateerde software