pdf 파일 세트에서 단어 또는 단어 세트 찾기

Oct 30 2020

Note_De_cours8 개의 다른 디렉토리를 포함 하는 디렉토리가 있다고 가정합니다.

Semaine_1  Semaine_3  Semaine_5  Semaine_7
Semaine_2  Semaine_4  Semaine_6  Semaine_8

각 디렉토리에는 일부 pdf 파일이 포함되어 있습니다. 각 pdf에서 동시에 단어 또는 단어 집합을 검색하는 명령 줄이 있습니까? PDF를 열고 눌러서 Ctrl + f단어를 검색 하는 것은 성가신 일입니다 . 을 (를) 사용하는 것으로 생각 grep했지만 실제로는 전문가가 아닙니다. 이를 수행하는 다른 가장 최적화 된 방법이있을 수 있습니다.

동시에 모든 pdf에서 볼 Note_De_Cours수 pdfgrep있도록 신청하고 싶습니다 . 원하는 단어 또는 단어 세트가 포함 된 파일을 알려주는 명령을 원합니다. 어떻게 할 수 있습니까?

편집하다

이 명령을 통해 할 수 있습니까 루프 find elem -iname '*.pdf' -exec pdfgrep "baysien optimal" {} +에 elem? 같은 것for elem in ...; do find elem -iname '*.pdf' -exec pdfgrep "baysien optimal" {} +

나는 for i in 1 2 3 4 5 6 7 8; do find Semaine_$i -iname '*.pdf' -exec pdfgrep "taux" {} +; done했지만 그것이 오는 파일을 출력하지 않습니다.

답변

L.ScottJohnson Oct 31 2020 at 06:42

대신에

for i in 1 2 3 4 5 6 7 8; do  find Semaine_$i -iname '*.pdf' -exec pdfgrep "taux" {} +; done

파일의 이름을 인쇄하려면 -print on find (일치 뒤에 이름을 인쇄) 또는 -l on grep (일치 대신 이름을 인쇄)를 사용하십시오.

find Semaine_[1-8] -iname '*.pdf' -exec pdfgrep "taux" {} \; -print

또는

find Semaine_[1-8] -iname '*.pdf' -exec pdfgrep -l "taux" {} \;

또한 플래그 pdfgrep를 통해 재귀 기능이 내장 -r되어 있으므로 간단하게 다음을 수행 할 수 있습니다.

pdfgrep -r -l "taux" Semaine_[1-8]

menderes Oct 30 2020 at 00:25

grep 명령을 직접 사용하면 결과를 얻을 수 없습니다. Linux의 최소 패키지에 포함 된 응용 프로그램은 vi 및 nano에서 읽을 수있는 파일 만 처리 할 수 ​​있기 때문입니다. (grep, awk 등) PDF와 같은 특수 파일 형식에 대한 많은 도구와 대안이 있습니다. Dspace와 같은 오픈 소스 보관 소프트웨어를 설치하면 브라우저에서 모든 PDF를 검색하고 카탈로그화할 수 있습니다. 모듈을 추가하여 PDF 작업을 강화할 수 있습니다. 또는 PDF 파일을 pdftotext와 같은 일반 텍스트 파일로 변환하는 명령 줄 기반 응용 프로그램을 사용할 수 있습니다. pdftotext에 대한 검색 명령의 예 :

pdftotext /file/semaine.pdf - | grep -n -i "Semaine"

-n : 줄 번호를 인쇄합니다. -i : 대문자와 소문자를 구분하지 않습니다.

wc -l명령 끝에 추가 하면 찾고있는 용어가 몇 번 발생하는지 알 수 있습니다.

파이프 라인 뒤에 추가하는 awk 및 파생 매개 변수를 사용하여보다 효과적인 결과를 얻을 수 있습니다.

위에서 언급했듯이 여러 가지 방법이 있습니다. 이 두 가지 대안을 제안 할 수 있습니다.