Escape whitespace в поиске для pdftk без xargs -J

Я хотел бы объединить все PDF-файлы в подкаталоги, причем имена файлов потенциально содержат пробелы. Я хорошо знаю об этом решении,

find . -name *.pdf -print0 | xargs -0 -J FILE pdftk FILE cat output out.pdf 

Однако, к сожалению, моя версия xargs не поддерживает параметр -J. Существуют ли альтернативные способы достижения этого?

Я пробовал это

 pdftk $(find . -name *.pdf -print0 | xargs -0 -I {} printf '%q ' {} ) cat output out.pdf 

но pdftk рассматривает это так, как будто побегов там не было.

  • Есть ли заклинание командной строки для сохранения определенных столбцов по имени в CSV-файле?
  • выйдите из сценария, если строка ls не нашла соответствия
  • Найдите и замените строку, если определенный шаблон найден в строке
  • Аргументы «тире» для сценариев оболочки
  • Запретить удаление файла даже после того, как rm -f
  • Установить идентификатор родительского процесса из ShellScript, позже удалить все дочерние процессы
  • скрипт для регистрации всех статистических данных для определенного процесса
  • echo wildcard globing
  • One Solution collect form web for “Escape whitespace в поиске для pdftk без xargs -J”

    -I не вариант для вас. Вам нужно следующее:

     find . -name '*.pdf' -type f -exec sh -c 'pdftk "$@" cat output /tmp/out.pdf' x {} + 

    Здесь есть несколько оговорок:

     a) Your current working dir. != /tmp b) The sh is run just once otw, the out.pdf will be overwritten by the last run. c) Your sh stores the 1st -> $0, 2nd -> $1, 3rd -> $2, etc. 

    Хотя все вышеперечисленное можно обойти, но этого достаточно, чтобы вы начали.

    Linux и Unix - лучшая ОС в мире.