Как посчитать количество страниц во всех PDF-файлах в текущем каталоге и всех подкаталогах, рекурсивно

find . -name \*.pdf -exec pdfinfo {} \; | grep Pages | sed -e "s/Pages:\s*//g" | awk '{ sum += $1;} END { print sum; }'


Данная команда find . -name \*.pdf -exec pdfinfo {} \; | grep pages | sed -e "s/pages:\s*//g" | awk '{ sum += $1;} end { print sum; } позволяет посчитать общее количество страниц во всех PDF-файлах, находящихся в текущем каталоге и всех его подкаталогах.

Команда find . -name \*.pdf используется для поиска всех файлов с расширением .pdf в текущем каталоге и подкаталогах. Опция -exec pdfinfo {} \; позволяет выполнить команду pdfinfo для каждого найденного файла PDF. Команда pdfinfo извлекает информацию о файле, в том числе количество страниц.

Далее, команда grep pages фильтрует вывод команды pdfinfo, оставляя только строки, содержащие информацию о количестве страниц в каждом файле. Команда sed -e "s/pages:\s*//g" удаляет префикс «pages:» из каждой строки.

Наконец, команда awk '{ sum += $1;} end { print sum; }' используется для суммирования всех чисел (количество страниц) и вывода общей суммы.

Альтернативный вариант выполнения этой задачи может быть использование команды pdftk с опцией dump_data, чтобы получить информацию о страницах в каждом файле PDF, а затем сложить значения с помощью других инструментов, таких как grep, awk или python.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *