명령줄에서 "pdfgrep"에 대한 합자를 인식하는 대안이 있습니까?

명령줄에서 "pdfgrep"에 대한 합자를 인식하는 대안이 있습니까?

저는 항상 "pdfgrep"을 사용하여 명령줄에서 여러 PDF 파일의 내부를 검색합니다. 그런데 문제가 생겼습니다. 바로 이 하이픈 문자 "fi"입니다(참조:https://www.compart.com/en/unicode/U+FB01). "fi"는 "fixed"라는 단어에 있으므로 "고정 소수점 연산자"라는 검색어를 사용할 수 없습니다 pdfgrep -iR 'fixed point operator'. 그런데 Foxit reader, Evince 등의 PDF 리더를 사용하여 파일을 열면 "fi"가 "f"와 "i"로 분리되어 검색이 가능합니다. "pdfgrep"에 대한 더 안정적인 대안이 있습니까? 아니면 인코딩을 확장하기 위해 "pdfgrep"에 옵션 키워드가 있습니까?

PDF 파일은http://direct.mit.edu/books/chapter-pdf/238450/9780262321037_can.pdf .

Ubuntu 20.04, amd64, 커널 버전 Linux 5.6.0-1018-oem. pdfgrep에는 옵션이 있습니다 --unac. 그러나 pdfgrep 을 사용하여 설치하면 sudo apt-get install pdfgrep명령 --unac에서 "pdfgrep: 컴파일 타임에 UNAC 지원이 비활성화되었습니다!"라고 보고합니다.

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

답변1

이 문제를 해결하려면 먼저 UTF-8 형식을 사용하여 합자를 찾아야 합니다 pdftotext. 예를 들어 다음을 실행했습니다.

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

아래와 같이 결과 행을 얻습니다.

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

fi그러다가 실제로 단말기에는 ☎벨이 울리는 전화가 있는데, fi브라우저에서는 으로 렌더링된다는 것을 알게 되었습니다 .

그래서 난 계속pdfgrep

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

마침내 나는 원하는 결과를 얻었습니다.

   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

관련 정보