GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ny Ligature-fähige Alternative für „pdfgrep“ in der Befehlszeile?

Ich verwende immer „pdfgrep“, um über die Befehlszeile in mehreren PDF-Dateien zu suchen. Aber ich bin auf ein Problem gestoßen:Dieses Ligaturzeichen „fi“ (siehe https://www.compart.com/en/unicode/U+FB01).
„fi“ steht im Wort „fixed“, also konnte ich den Begriff „fixed point operator“ nicht mit pdfgrep -iR 'fixed point operator' suchen . Wenn ich die Datei jedoch mit PDF-Readern wie Foxit Reader und Evince öffne, wird „fi“ in „f“ und „i“ aufgeteilt, also durchsuchbar. Gibt es eine zuverlässigere Alternative für „pdfgrep“? Oder gibt es in „pdfgrep“ optionale Schlüsselwörter, um die Codierung zu erweitern?

Die PDF-Datei ist http://direct.mit.edu/books/chapter-pdf/238450/9780262321037_can.pdf .

Ubuntu 20.04, amd64, Kernelversion Linux 5.6.0-1018-oem. pdfgrep hat eine Option --unac . Aber wenn ich pdfgrep mit sudo apt-get install pdfgrep installiere , Befehl --unac meldet „pdfgrep:UNAC support disabled at compile time!“

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

Akzeptierte Antwort:

Um dieses Problem zu lösen, sollten Sie zuerst pdftotext verwenden Um herauszufinden, wie Ihre Ligatur in Form von UTF-8 aussieht, führe ich zum Beispiel Folgendes aus:

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

und eine Zeile mit Ergebnissen erhalten sieht so aus

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

dann kenne ich fi ist tatsächlich ein Klingeltelefon ☎ im Terminal, wird jedoch als fi dargestellt im Browser.

Also mache ich mit pdfgrep weiter

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

Schließlich erhalte ich natürlich die gewünschten Ergebnisse:

   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. Bearbeiten Sie PDFs auf der Linux-Befehlszeile

  2. 8 Tipps für die Linux-Kommandozeile

  3. Verkleinern Sie die PDF-Größe mit diesem Befehlszeilentrick

  4. Titan – Ein Befehlszeilen-Passwort-Manager für Linux

  5. ppl – Ein Befehlszeilen-Adressbuch für Linux

4 Befehlszeilen-Notizanwendungen für Linux

10 nützliche Linux-Kommandozeilen-Tricks für Neulinge – Teil 2

20 Sed (Stream Editor)-Befehlsbeispiele für Linux-Benutzer

Linux Uniq Command Tutorial für Anfänger (10 Beispiele)

Micro – Ein befehlszeilenbasierter Texteditor für Linux

Entwickeln Sie schnell eine GUI für die Befehlszeile