GNU/Linux >> Tutoriales Linux >  >> Linux

¿Alternativa compatible con Ny Ligature para "pdfgrep" en la línea de comandos?

Siempre uso "pdfgrep" para buscar dentro de varios archivos PDF desde la línea de comando. Pero me encontré con un problema:este carácter de ligadura "fi" (ver https://www.compart.com/en/unicode/U+FB01).
“fi” está en la palabra “fixed”, por lo que no pude buscar el término “operador de punto fijo” con pdfgrep -iR 'fixed point operator' . Sin embargo, cuando abro el archivo con lectores de PDF como Foxit Reader y Evince, "fi" se divide en "f" e "i", por lo que se puede buscar. ¿Hay alguna alternativa más confiable para el "pdfgrep"? ¿O hay alguna opción de palabras clave en "pdfgrep" para expandir la codificación?

El archivo PDF es http://direct.mit.edu/books/chapter-pdf/238450/9780262321037_can.pdf.

Ubuntu 20.04, amd64, versión del núcleo Linux 5.6.0-1018-oem. pdfgrep tiene una opción --unac . Pero si instalo pdfgrep con sudo apt-get install pdfgrep , comando --unac informará "pdfgrep:soporte de UNAC deshabilitado en tiempo de compilación!"

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

Respuesta aceptada:

Para resolver este problema, primero debe usar pdftotext para averiguar cómo se ve su ligadura en forma de UTF-8, por ejemplo ejecuto esto:

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

y obtener una línea de resultados como esta

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

entonces sé fi es de hecho un teléfono de llamada ☎ en la terminal, sin embargo, se representa como fi en el navegador.

Así que sigo con pdfgrep

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

Finalmente, por supuesto, obtengo los resultados deseados:

   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. 8 consejos para la línea de comandos de Linux

  2. Reduzca el tamaño del PDF con este truco de línea de comandos

  3. Consejos de Bash para el día a día en la línea de comandos

  4. Titan:un administrador de contraseñas de línea de comandos para Linux

  5. Editor de texto Vem:un diseño de comando alternativo para Vim

4 aplicaciones de línea de comandos para tomar notas para Linux

10 trucos útiles de la línea de comandos de Linux para principiantes – Parte 2

20 ejemplos de comandos Sed (Stream Editor) para usuarios de Linux

Tutorial de Linux Uniq Command para principiantes (10 ejemplos)

Micro:un editor de texto basado en la línea de comandos para Linux

Desarrolle rápidamente una GUI para la línea de comandos