파일을 다른 디렉터리로 출력하는 방법(Poppler - pdftotext)

파일을 다른 디렉터리로 출력하는 방법(Poppler - pdftotext)

*.txt 문서로 변환하기 위해 Poppler를 사용하고 있는 많은 PDF가 포함된 디렉토리가 있습니다 pdftotext. 모든 파일을 변환하려면 다음 명령이 있습니다.

for f in *.pdf; do pdftotext $f; done

PDF는 외부 저장 장치에 있으므로 추가 공간이 필요하지 않습니다. 출력을 다른 디렉터리로 리디렉션하려면 어떻게 해야 합니까? 즉, PDF가 변환될 때마다 PDF와 동일한 디렉토리에 기록되는 대신 다른 위치에 기록됩니다.

답변1

이것은 don_crissti가 제안한 솔루션이며 Unix와 Linux를 처음 접하는 사람들을 위해 설명하려고 왔습니다. 이 요약은 초보자가 작성한 것이므로 자유롭게 편집하시기 바랍니다.

for f in *.pdf; do pdftotext "$f" "/path/to/some/dir/${f%.*}.txt"; done

이제 각 명령을 확인해 보겠습니다. 이는 현재 작업 디렉터리의 모든 파일을 반복하는 표준 for 루프입니다. for f in *.pdf. 이 명령에서는 f인덱스로 사용됩니다. 다음 명령은 PDF를 텍스트로 변환합니다. 이는 사용자가 설치했다고 가정합니다.poppler:

pdftotext "$f" "/path/to/some/dir/${f%.*}.txt"

"$f"입력을 저장하는 데 사용되는 이름PDF파일을 만들고 "/path/to/some/dir/${f%.*}.txt"출력 경로를 지정하십시오.txt파일, 즉 대상 디렉토리 /path/to/some/dir/와 출력 파일 이름 ${f%.*}.txt, 출력 파일 이름은 기본적으로 파일 이름에서 확장자가 제거된 입력 파일 이름( "$f") 입니다..pdf매개변수 대체그리고 .txt접미사를 추가합니다.

관련 정보