pdf 파일 세트에서 단어 또는 단어 세트 찾기
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했지만 그것이 오는 파일을 출력하지 않습니다.
답변
대신에
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]
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 및 파생 매개 변수를 사용하여보다 효과적인 결과를 얻을 수 있습니다.
위에서 언급했듯이 여러 가지 방법이 있습니다. 이 두 가지 대안을 제안 할 수 있습니다.