GNU/Linux >> Linux Esercitazione >  >> Linux

Ny alternativa sensibile alla legatura per "pdfgrep" nella riga di comando?

Uso sempre "pdfgrep" per cercare all'interno di più file PDF dalla riga di comando. Ma ho incontrato un problema:questo carattere di legatura “fi” (vedi https://www.compart.com/en/unicode/U+FB01).
"fi" è nella parola "fisso", quindi non ho potuto cercare il termine "operatore punto fisso" con pdfgrep -iR 'fixed point operator' . Tuttavia, quando apro il file con lettori PDF come Foxit reader ed Evince, “fi” viene suddiviso in “f” e “i”, quindi ricercabile. Esiste un'alternativa più affidabile per "pdfgrep"? O ci sono parole chiave per le opzioni in "pdfgrep" per espandere la codifica?

Il file PDF è http://direct.mit.edu/books/chapter-pdf/238450/9780262321037_can.pdf .

Ubuntu 20.04, amd64, versione del kernel Linux 5.6.0-1018-oem. pdfgrep ha un'opzione --unac . Ma se installo pdfgrep con sudo apt-get install pdfgrep , comando --unac riporterà "pdfgrep:supporto UNAC disabilitato in fase di compilazione!"

pdfgrep:
  Installed: 2.1.2-1build1
  Candidate: 2.1.2-1build1
  Version table:
 *** 2.1.2-1build1 500
        500 http://mirrors.huaweicloud.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status

Risposta accettata:

Per risolvere questo problema, dovresti prima usare pdftotext per scoprire come appare la tua legatura sotto forma di UTF-8, ad esempio eseguo questo:

pdftotext -f 11 -l 13 ~/Mathematics/Analysis/MeasureTheory.pdf text && cat text 

e ottieni una riga di risultati simile a questa

   1.6.  Infinite and σ-finite measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

allora so fi è in effetti un telefono che squilla ☎ nel terminale, tuttavia viene visualizzato come fi sul browser.

Quindi continuo con pdfgrep

pdfgrep --page-range=11-13 fi ~/Mathematics/Analysis/MeasureTheory.pdf

Infine, ovviamente ottengo i risultati desiderati:

   1.6.  Infinite and σ-finite measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
   2.4.  The general definition of the Lebesgue integral . . . . . . . . . . . . . . 118
   2.6.  Integration with respect to infinite measures . . . . . . . . . . . . . . . . 124
   3.5.  Infinite products of measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Linux
  1. Modifica i PDF sulla riga di comando di Linux

  2. 8 suggerimenti per la riga di comando di Linux

  3. Specifiche generali per l'interfaccia a riga di comando?

  4. Suggerimenti per la riga di comando di Linux per aumentare la produttività

  5. Vem Text Editor – Un layout di comando alternativo per Vim

4 applicazioni per prendere appunti da riga di comando per Linux

10 utili trucchi per la riga di comando di Linux per i principianti - Parte 2

20 Esempi di comandi Sed (Stream Editor) per utenti Linux

Tutorial sui comandi Linux Uniq per principianti (10 esempi)

Micro:un editor di testo basato su riga di comando per Linux

Sviluppa rapidamente la GUI per la riga di comando