在输出文件名中显示输入文件名 — 在 ghostscript 命令之后

在输出文件名中显示输入文件名 — 在 ghostscript 命令之后

我使用这个脚本(来自这里)以减小 pdf 文件的大小:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \ -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

我在 Dolphin 操作(服务菜单)中添加了以下行:

Exec=bash -c 'pdf=$(gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook    -sOutputFile=ebook.pdf "%u"); kdialog --title "Shrink" --msgbox "Done! $pdf";';

我希望输出文件的名称能够自动基于输入文件的名称,例如:input_xxx

答案1

如果将%u值分配给 shell 变量,则应该可以使用标准变量扩展语法${var%.ext}_xxx来删除.pdf扩展名并添加您选择的后缀:

bash -c 'f="%u"; pdf=$(gs -dQUIET -dBATCH [pdf options] -sOutputFile="${f%.pdf}_xxx" "$f"); ...'

相关内容