Hoe PDF-bestanden te doorzoeken via Terminal met pdfgrep-tool

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.

Hoe PDF-bestanden te zoeken via Terminal met pdfgrep - Linux

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.

Hoe PDF-bestanden te zoeken via Terminal met pdfgrep - Linux

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.

-c of -count: Dit annuleert de normale uitvoer van overeenkomsten. In plaats van een lange uitvoer van overeenkomsten weer te geven, wordt alleen een waarde weergegeven die het aantal keren vertegenwoordigt dat het woord in het bestand is aangetroffen
-p of -page-count: deze optie drukt de paginanummers van overeenkomsten af ​​en het aantal keren dat het patroon op de pagina voorkomt
-m of -max-count [getal]: Specificeert het maximum aantal overeenkomsten. Dit betekent dat wanneer een aantal overeenkomsten is bereikt, het commando stopt met het lezen van het bestand.

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.

DzTech

Ik ben een staatsingenieur met uitgebreide ervaring op het gebied van programmeren, website maken, SEO en technisch schrijven. Ik ben gepassioneerd door technologie en wijd mij aan het verstrekken van kwaliteitsinformatie aan het publiek. Ik kan een waardevollere bron worden voor gebruikers die op zoek zijn naar nauwkeurige en betrouwbare informatie over productrecensies en gespecialiseerde toepassingen op verschillende gebieden. Mijn niet-aflatende toewijding aan kwaliteit en nauwkeurigheid zorgt ervoor dat de verstrekte informatie betrouwbaar en nuttig is voor het publiek. Het voortdurende streven naar kennis drijft mij om op de hoogte te blijven van de nieuwste technologische ontwikkelingen en ervoor te zorgen dat gedeelde ideeën op een duidelijke en toegankelijke manier worden overgebracht.
Ga naar de bovenste knop