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
.