Вы говорите в комментариях , что не хотите хранить ненужные промежуточные PDF-файлы. Вот как это сделать в более простом сценарии оболочки:
#!/bin/sh
for name in./*.ps; do
ps2pdf -dEPSCrop "$name" - | pdfcrop --margins '10 10 10 10' - "${name%.ps}.pdf"
done
Программа ps2pdf
может записывать в свой стандартный поток вывода, если вы дадите ей имя выходного файла -
. Этот поток может быть направлен непосредственно в pdfcrop
без сохранения его в промежуточном файле. Имя файла -
для входного файла pdfcrop
означает «чтение со стандартного ввода» (данных, поступающих по конвейеру в данном случае ).
Выходной файл для pdfcrop
будет иметь то же имя, что и входной файл для ps2pdf
, но с заменой завершающего .ps
на .pdf
. Это делается заменой параметра${name%.ps}.pdf
(удалением .ps
из конца значения $name
, а затем добавлением .pdf
к результирующей строке ).