регулярное выражение sed не может захватить весь абзац, содержащий шаблон

Вы говорите в комментариях , что не хотите хранить ненужные промежуточные 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к результирующей строке ).

3
02.08.2021, 14:00
0 ответов

Теги

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