우분투에서 먼저 텍스트로 변환하지 않고 grep의 힘을 사용하여 PDF 파일을 검색하는 방법이 있습니까?
답변
패키지를 설치 한 pdfgrep
후 다음 명령을 사용하십시오.
find /path -iname '*.pdf' -exec pdfgrep pattern {} +
——————
가장 간단한 방법은
pdfgrep 'pattern' *.pdf
pdfgrep 'pattern' file.pdf
답변
당신이 한 경우 poppler-utils
(우분투 바탕 화면에 기본) 설치, 당신의 비행 및 파이프 그것을 그것을 “변환”수 grep
:
pdftotext my.pdf - | grep 'pattern'
.txt 파일은 생성되지 않습니다.
답변
pdfgrep 은 정확히이 목적으로 작성되었으며 우분투에서 구할 수 있습니다.
대부분 grep
PDF와 호환되도록 “grep의 힘”과 호환되도록 노력합니다 . 즉 같은 일반적인 그렙 옵션을 포함 --recursive
, --ignore-case
또는 --color
.
pdftotext | grep
pdfgrep과는 달리 , pdfgrep은 일치하는 방식으로 페이지 번호를 출력 할 수 있으며 전체 문서 (예 : --max-count
또는 --quiet
) 를 검색 할 필요가 없을 때 일반적으로 더 빠릅니다 .
기본 사용법은 다음과 같습니다.
pdfgrep PATTERN FILE..
여기서 PATTERN
검색 문자열과 FILE
파일 이름 목록 (또는 쉘의 와일드 카드)이 있습니다.
자세한 내용은 맨 페이지 를 참조하십시오 .
답변
아니.
pdf는 데이터 덩어리, 일부는 텍스트, 일부는 그림 및 일부는 정말 멋진 XYZ (예 : .u3d 파일)로 구성됩니다. 이러한 청크는 대부분 압축 된 시간입니다 (예 : 플랫, http://www.verypdf.com/pdfinfoeditor/compression.htm 확인 ). ‘그렙’는 .PDF하기 위해 당신은 이 압축 일명 반전 텍스트를 추출 할 수 있습니다.
pdf2text
결과와 같은 도구를 사용하여 파일별로 결과를 얻 거나 .pdf 파일에서 검색 가능한 색인을 작성하는 ‘indexer'( xapian.org 또는 lucene 참조 )를 실행 한 다음 검색을 사용할 수 있습니다 해당 인덱서의 엔진 도구를 사용하여 pdf의 내용을 가져옵니다.
그러나 아니요, grep
파일을 PDF로 작성할 수 없으며 텍스트를 먼저 추출하지 않고도 신뢰할 수있는 답변을 기대할 수 있습니다 .
답변
Recoll 은 PDF를 검색 할 수 있습니다. 정규식은 지원하지 않지만 다른 검색 옵션이 많이 있으므로 필요에 맞을 수 있습니다.
답변
당신은 strings
먼저 그것을 통해 파이프 수 있습니다 :-
cat file.pdf | strings | grep <...etc...>
답변
PDF 파일 내 검색을 지원 하는 공통 자원 그렙 도구 crgrep 를 살펴보십시오 .
또한 아카이브, 데이터베이스 테이블, 이미지 메타 데이터, POM 파일 종속성 및 웹 자원에 중첩 된 컨텐츠와 같은 다른 자원과 재귀 검색을 포함한 이들의 조합을 검색 할 수 있습니다.