Показывать входное имя файла в выходном имени файла - после команды 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
задан 25 August 2021 в 17:52

1 ответ

Если вы присвоите значение % u переменной оболочки, должно быть возможно использование стандартного синтаксис расширения переменной $ {var% .ext} _xxx , чтобы удалить расширение .pdf и добавить суффикс по вашему выбору:

bash -c 'f="%u"; pdf=$(gs -dQUIET -dBATCH [pdf options] -sOutputFile="${f%.pdf}_xxx" "$f"); ...'
1
ответ дан 4 September 2021 в 09:28

Другие вопросы по тегам:

Похожие вопросы: