Чем отличаются выходы набора -o и набора +o

Утилита pdfunite, кажется, делает то, что вы ищете (в Debian -, как и в дистрибутивах Linux, она является частью пакета poppler-utils.

$ pdfunite a.pdf b.pdf c.pdf combined.pdf

Другой вариант — GhostScript:

$ gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite =sOutputFile=combined.pdf a.pdf b.pdf c.pdf

ImageMagick также говорит на языке GhostScript, поэтому, если вы уже знакомы с ним:

$ convert a.pdf b.pdf c.pdf combined.pdf

Python также предоставляет библиотеку PDF,pdftools:

$ python3 pdftools/pdfmerge.py -o combined.pdf -d a.pdf b.pdf c.pdf

Независимо от того, какой инструмент вы используете, нам также нужен способ объединения файлов в пары на основе описанных вами критериев. Эта фигурная скобка -расширенная глобус должна получить первую из каждой пары:

SI-T-*{0..9}.pdf

Таким образом, мы можем перебрать это:

for pdf in SI-T-*{0..9}.pdf; do
    stuff
done

Мы можем процедурно определить, какое второе имя файла будет основано на первом:

$ pdf1='SI-T-xxxxxx.pdf'
$ pdf2="$(basename "$pdf1".pdf)-sol.pdf"
$ printf "%s %s" "$pdf1" "$pdf2"
$ SI-T-xxxxxx.pdf SI-T-xxxxxx-sol.pdf

Давайте включим это в наш цикл:

for pdf1 in SI-T-*{0..9}.pdf; do
    pdf2="$(basename "$pdf1".pdf)-sol.pdf"
    pdf3="$(basename "$pdf1".pdf)-combined.pdf"
    if ! [[ -r "$pdf2" ]]; then
        printf "%s not found to merge with %s; skipping" "$pdf2" "$pdf1" >&2        
    else
        convert "$pdf1" "$pdf2" "$pdf3"
    fi
done
-1
08.02.2021, 08:42
1 ответ

Некоторые вещи существуют только потому, что они :кто-то решил, что так и должно быть.

If -o is supplied with no option-name, the values of the
current  options are printed.  If +o is supplied with no
option-name, a series of set commands  to  recreate  the
current  option  settings  is  displayed on the standard
output.

Если вы последуете за +oили -oаргументом, тогда -и +будут иметь разное значение.

0
18.03.2021, 22:31

Теги

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