Opdrachtregelprogramma's zoals grep en ack-grep zijn goed in het zoeken naar platte tekstbestanden naar patronen die overeenkomen met een reguliere expressie en scheidingsteken. Maar heb je ooit geprobeerd om deze hulpprogramma's te gebruiken om naar patronen in een PDF-bestand te zoeken? Oké, nee! U krijgt geen resultaat omdat deze tools dat niet kunnen Zoeken in PDF-bestanden. Ze lezen alleen platte tekstbestanden.
pdfgrep, zoals de naam al doet vermoeden, is een kleine opdrachtregeltool die het mogelijk maakt om naar tekst in een PDF-bestand te zoeken zonder het bestand te openen. Het zoekproces is waanzinnig snel - sneller dan het zoekproces dat door bijna alle PDF-lezers wordt aangeboden. Een groot verschil tussen grep en pdfgrep is dat pdfgrep op pagina's draait, terwijl grep op regels draait. Het drukt één regel ook meerdere keren af als er meer dan één zin op die regel staat. Laten we eens kijken hoe we de tool precies moeten gebruiken.
Installatie
Voor Ubuntu en andere Linux-distributies op basis van Ubuntu is het heel eenvoudig:
sudo apt install pdfgrep
Voor andere distributies, door simpelweg pdfgrep . op te geven Als input voor de pakketbeheerder, die moet worden verkregen en geïnstalleerd. U kunt ook de projectpagina bekijken op: GitLab, voor het geval je met je code wilt spelen.
Doe de test
Nu de tool is geïnstalleerd, gaan we de test uitvoeren. pdfgrep-opdracht heeft de vorm:
pdfgrep [OPTION...] PATTERN [FILE...]
- OPTION is een lijst met extra attributen die aan een commando zoals -i of -ignore-case moeten worden gegeven, die zowel het geval van een onderscheid tussen de gegeven reguliere stijl als een keer waar het overeenkomt in het bestand negeert.
- PATTERN is slechts een uitgebreide reguliere expressie.
- FILE is alleen de naam van het bestand, als het zich in dezelfde werkdirectory bevindt, of het pad naar het bestand.
Ik heb de opdracht uitgevoerd in de officiële documentatie voor Python 3.6. De volgende foto is het resultaat.
De rode lijn geeft alle plaatsen aan waar het woord "wachtrij" verscheen. Geef -i door als een opdrachtoptie voor woorden die het woord "Wachtrij" bevatten. Onthoud dat de case er niet toe doet wanneer -i als optie wordt doorgegeven.
Extra's
pdfgrep heeft een groot aantal interessante opties om te gebruiken. Ik zal hier echter slechts enkele behandelen.
Een volledige lijst met ondersteunde opties is te vinden in de man-pagina's of op: pdfgrep online handleiding. Vergeet niet dat pdfgrep meerdere bestanden tegelijk kan doorzoeken, voor het geval je met losse bestanden werkt. De standaard markeringskleur kan worden gewijzigd door de omgevingsvariabele GREP_COLORS te wijzigen.
Conclusie
De volgende keer dat u eraan denkt een pdf te openen om naar iets te zoeken. U kunt overwegen om pdfgrep te gebruiken. De tool is handig en bespaart u tijd.