PDF를 마우스 오른쪽 버튼으로 클릭하고 "PDF 분할"을 선택하여 별도의 페이지로 분할할 수 있는 thunar 사용자 정의 작업을 만들고 싶습니다. 이를 수행하는 명령은 다음과 같습니다.
$ pdfseparate mypdf.pdf mypdf-%d.pdf
등으로 mypdf-1.pdf
불리는 각 페이지에 대해 새 PDF를 생성하고 매뉴얼 페이지에 따라 페이지 번호를 사용하여 pdfseparate 명령으로 대체합니다.mypdf-2.pdf
%d
SYNOPSIS pdfseparate [options] PDF-file PDF-page-pattern
PDF-page-pattern should contain %d (or any variant respecting printf format), since %d is replaced by the page number.
Thunar 사용자 정의 작업파일이 위치한 디렉터리를 사용하여 any %n
를 선택한 파일로 보간합니다. 따라서 위 명령을 로 %d
바꿔서 복사하려고 하면 다음과 같습니다.mypdf.pdf
%n
pdfseparate "%n" "$(basename "%n" .pdf)-%d.pdf"
그러나 thunar는 %d
디렉토리를 파일로 대체합니다. 그대로 전달 %d
되도록 어떻게 탈출할 수 있나요 pdfseparate
?
pdfseparate
다른 변수를 사용하는 옵션은 없는 것 같지만 %d
"printf 형식을 존중하는 모든 변형"을 허용한다고 나와 있습니다. 이것이 무엇을 의미하는지 잘 모르겠습니다... 시도했지만 %s
성공하지 못했습니다.
답변1
printf와 같은 도구에서는 일반적으로 %%
for literal을 사용할 수 있습니다 %
. 예를 들어, printf
표준 C 라이브러리(참고자료 참조 ) man 3 printf
에 있는 매뉴얼 페이지에는 다음이 표시됩니다.
% A '%' is written. No argument is converted. The complete conversion specification is '%%'.
따라서 이스케이프하여 %
리터럴로 처리하려면 thunar에 실행하려는 명령을 %
사용하면 됩니다 .%%
pdfseparate %n "$(basename %n .pdf)-%%d.pdf"