Я совершенно новичок в Bash, так что это может быть что-то тривиальное, но я просто не понимаю. Я пытаюсь избежать пробелов внутри имен файлов. Взгляни. Обратите внимание, что это «рабочий пример» - я получаю, что чередование файлов с пустыми страницами может быть выполнено легче, но я здесь о пространстве.Bash экранирование пробелов в имени файла, в переменной
#! /bin/sh
first=true
i=combined.pdf
o=combined2.pdf
for f in test/*.pdf
do
if $first; then
first=false
ifile=\"$f\"
else
ifile=$i\ \"$f\"
fi
pdftk $ifile blank.pdf cat output $o
t=$i
i=$o
o=$t
break
done
Скажем, у меня есть файл с именем my file.pdf
(с пробелом). Я хочу, чтобы переменная ifile содержала строку combined.pdf "my file.pdf"
, так что pdftk может использовать ее в качестве двух аргументов файла: первый из которых - combined.pdf
, а второй - my file.pdf
.
Я пробовал различные способы ускользания (с или без первого выхода из самих котировок и т. Д.), Но при выполнении pdftk он продолжает разделять my
и file.pdf
.
EDIT: Чтобы уточнить: я пытаюсь передать несколько имен файлов (как несколько аргументов) в одну переменную команде pdftk. Я хотел бы, чтобы он распознал разницу между двумя именами файлов, но не разрывал одно имя файла в пространстве.
Не для того, чтобы быть раздражающим, но за две секунды поискового запроса, и я нашел это: http://www.lornajane.net/posts/2011/combining-pdf-files-with-pdftk –
Это «минимальный рабочий пример» моя проблема. Перед добавлением файлов я делаю несколько других вещей. – Joost
Ах, потому что вам нужна пустая страница между каждой страницей. Я этого не видел. –