Объединить PDF-файлы, но расширить PDF-файлы до четного числа страниц

Проблема вызвана двойными кавычками, которые вы поставили вокруг подстановки команды $(). Это превращает весь вывод в одну многострочную строку.

Попробуйте:

declare -a list123
list123=( $(psql -t -h 10.100.0.1 -U prasad statistics -c "select command from jobhandler.config_info where conf_name like '%stager%'") )

У меня нет вашей таблицы, но я тестировал с простой таблицей id,name,dob на моей системе:

$ list123=($(psql -t -c 'select dob from newtable'))
$ set | grep list123
list123=([0]="1967-03-07" [1]="1964-08-07" [2]="1992-10-19" [3]="1964-12-18" [4]="1945-12-26")
4
29.03.2016, 18:49
1 ответ

Для будущих странников вроде меня. Я написал скрипт, сочетающий ответ @Faheem Mitha и ответ здесь

#!/bin/sh
# USAGE:./concat-pdf.sh *.pdf output-file.pdf

ALL_FILES=""
BLANK_FILE="/tmp/blank.pdf"

for OUTPUT_FILE; do true; done
if test -f "$OUTPUT_FILE"; then
    echo "$OUTPUT_FILE already exists"
    exit 1
fi

echo "" | ps2pdf -sPAPERSIZE=a4 - $BLANK_FILE
for PDF_FILE; do
    if [ "$PDF_FILE" != "$OUTPUT_FILE" ]; then
        pages=$(strings < "$PDF_FILE" | sed -n 's|.*Count -\{0,1\}\([0-9]\{1,\}\).*|\1|p' | sort -rn | head -n 1)
        ALL_FILES="$ALL_FILES \"$PDF_FILE\""
        [ $((pages%2)) -ne 0 ] && ALL_FILES="$ALL_FILES $BLANK_FILE"
    fi
done

echo "pdftk $ALL_FILES cat output \"$OUTPUT_FILE\""

pdftk $ALL_FILES cat output "$OUTPUT_FILE"

rm -f $BLANK_FILE
0
27.01.2020, 20:50

Теги

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