Ubuntu에서 PDF 파일을 먼저 텍스트로 변환하지 않고 grep을 사용하여 검색하는 방법이 있습니까?
답변1
패키지를 설치 pdfgrep
한 후 다음 명령을 사용하십시오.
find /path -iname '*.pdf' -exec pdfgrep pattern {} +
——————
가장 간단한 방법:
pdfgrep 'pattern' *.pdf
pdfgrep 'pattern' file.pdf
답변2
이미 poppler-utils
설치한 경우(Ubuntu 데스크탑의 기본값) 즉시 "변환"하고 다음으로 파이프할 수 있습니다 grep
.
pdftotext my.pdf - | grep 'pattern'
.txt 파일은 생성되지 않습니다.
답변3
pdfgrep이러한 목적으로 작성되었으며 우분투에서 사용할 수 있습니다.
대부분의 와 호환되도록 시도하여 grep
PDF에만 "grep의 힘"을 제공합니다. 여기 에는 또는 같은 일반적인 grep 옵션이 포함됩니다 --recursive
.--ignore-case
--color
pdfgrep 과 비교하면 pdftotext | grep
일치하는 페이지 번호를 고성능 방식으로 출력할 수 있으며 전체 문서를 검색할 필요가 없을 때(예: --max-count
또는 ) --quiet
더 빠른 경우가 많습니다 .
기본 사용법은 다음과 같습니다.
pdfgrep PATTERN FILE..
PATTERN
검색 문자열과 FILE
파일 이름 목록(또는 셸의 와일드카드)은 어디에 있습니까?
보다맨페이지더 많은 정보를 알고 싶습니다.
답변4
아니요.
PDF는 많은 데이터로 구성되어 있으며 일부는 텍스트이고 일부는 그림이며 일부는 정말 마술적이고 이상한 XYZ(예: .u3d 파일)입니다. 이러한 블록은 대부분의 경우 압축됩니다(예: 평면화, 확인).http://www.verypdf.com/pdfinfoeditor/compression.htm). .pdf를 "grep"하려면가지다역압축은 텍스트 추출이라고도 합니다.
pdf2text
결과를 grep하거나 "인덱서"를 실행하는 등의 도구를 사용하여 각 파일에 대해 이 작업을 수행할 수 있습니다 (참조:xapian.org또는루체른) .pdf 파일에서 검색 가능한 색인을 작성한 다음 인덱서의 검색 엔진 도구를 사용하여 PDF의 내용을 가져올 수 있습니다.
grep
하지만 아니요, 먼저 텍스트를 추출하지 않고는 PDF 파일을 얻을 수 없으며 신뢰할 수 있는 답변을 얻기를 바랍니다.