Рейтинг:1

Показать имя входного файла в имени выходного файла — после команды ghostscript

флаг br

Я использую этот скрипт (из здесь), чтобы уменьшить размер 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 "Уменьшить" --msgbox "Готово! $pdf";';

Я хотел бы, чтобы имя выходного файла автоматически основывалось на имени входного файла, например: input_xxx.

флаг hr
Я бы попробовал что-то вроде `f="%u"; pdf=$(gs ... -sOutputFile="${f%.pdf}_xxx}" "$f"); ...`
флаг br
@steeldriver - вот ответ. Не могли бы вы опубликовать это как таковое? (Только вместо `"${f%.pdf}_xxx}"` должно быть `"${f%.pdf}_xxx"`.)
флаг hr
Ой извините за это - сделано
флаг br
Я имел в виду `"${f%.pdf}_xxx.pdf"` для своего конкретного скрипта.
Рейтинг:1
флаг hr

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

Баш -с 'f="%u"; pdf=$(gs -dQUIET -dBATCH [варианты PDF] -sOutputFile="${f%.pdf}_xxx" "$f"); ...'

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.