2015-10-05 2 views
0

Я использую модуль узла Pdf-text-extract для извлечения текстов PDF-файлов, и я хотел бы извлечь точно 10.025 PDF-файлов. Проблема заключается в том, что мой Mac Yosemite возвращается ошибка:«Список аргументов слишком длинный» при попытке открыть 10.025 pdfs

-bash: /usr/local/bin/extract: Argument list too long 

Сначала я думал, что это будет ULIMIT ошибки, но я увеличил лимит до 15000 и даже тогда возникает ошибка. Есть ли способ исправить это?

Спасибо.

+0

Пробовал ли * цикл * над списком PDF-файлов и вызывать 'extract' для каждого из них? Это может быть медленнее (потому что запуск команды должен выполняться снова и снова) или быстрее (потому что отдельные команды могут выполняться параллельно на разных процессорах. – Alfe

ответ

2

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

extract *.pdf 

Одним из способов управления это позволить find расширить шаблон и вызвать extract несколько раз, с таким количеством аргументов, как это возможно для каждого вызова.

find . -prune -name '*.pdf' -exec extract outputfile {} + 
+0

Хей чепнер, спасибо за быстрый ответ. У меня есть сомнения, m, используя узел, поэтому «извлечь» его команду узла, а полная команда должна быть извлечена «NAME_OF_OUTPUTFILE» «PATH_TO_PDFS/*. PDF» .Как я могу использовать команду find с моим? Возможно? –

+0

'find. - prune -name '* .pdf' -exec extract NAME_OF_OUTPUTFILE {} + ' – tripleee

Смежные вопросы