GNU/Linux >> Znalost Linux >  >> Linux

Ny Ligature-aware Alternativa pro „pdfgrep“ v příkazovém řádku?

K vyhledávání uvnitř více souborů PDF z příkazového řádku vždy používám „pdfgrep“. Ale narazil jsem na problém:Tento ligaturní znak „fi“ (viz https://www.compart.com/en/unicode/U+FB01).
„Fi“ je ve slově „pevná“, takže jsem nemohl vyhledat výraz „operátor s pevnou čárkou“ pomocí pdfgrep -iR 'fixed point operator' . Když však soubor otevřu pomocí čtečky PDF, jako je čtečka Foxit a Evince, „fi“ se rozdělí na „f“ a „i“, takže lze vyhledávat. Existuje nějaká spolehlivější alternativa pro „pdfgrep“? Nebo jsou v „pdfgrep“ nějaká klíčová slova pro rozšíření kódování?

Soubor PDF je http://direct.mit.edu/books/chapter-pdf/238450/9780262321037_can.pdf.

Ubuntu 20.04, amd64, verze jádra Linux 5.6.0-1018-oem. pdfgrep má možnost --unac . Ale pokud nainstaluji pdfgrep pomocí sudo apt-get install pdfgrep , příkaz --unac ohlásí „pdfgrep:Podpora UNAC zakázána v době kompilace!“

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

Přijatá odpověď:

Chcete-li tento problém vyřešit, měli byste nejprve použít pdftotext abych zjistil, jak vypadá vaše ligatura ve formě UTF-8, spustím například toto:

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

a získat řádek výsledků vypadá takto

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

pak vím fi je ve skutečnosti vyzváněcí telefon ☎ v terminálu, ale vykresluje se jako fi v prohlížeči.

Pokračuji tedy pdfgrep

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

Nakonec samozřejmě dosáhnu požadovaných výsledků:

   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. Titan – Správce hesel příkazového řádku pro Linux

  2. ppl – Adresář příkazového řádku pro Linux

  3. Tipy pro příkazový řádek Linuxu pro zvýšení produktivity

  1. Upravujte soubory PDF na příkazovém řádku systému Linux

  2. Zmenšete velikost PDF pomocí tohoto triku s příkazovým řádkem

  3. Bash tipy pro každý den na příkazovém řádku

  1. 8 tipů pro příkazový řádek Linuxu

  2. Obecná specifikace pro rozhraní příkazového řádku?

  3. Textový editor Vem – Alternativní rozložení příkazů pro Vim