チョコミントアイス

MACを使用しています。

件名のとおりですが、フォルダ内(1階層)にフォルダが数十個あり(2階層)たくさんPDFがあります。
それぞれ1つのPDFには1000ページほどあります。

いちいちPDFを開いて、ページ数を数えるのが大変手間ですし、フォルダを一つ一つあたって、PDFの件数を数えるのもてまです。。。

Windowsでいう、下記URLのような表示方法はありますでしょうか。
https://oshiete.goo.ne.jp/qa/9536975.html

A 回答 (1件)

フォルダ内(1階層) 直下に下記のテキストファイル【pdf_count.sh】を置いて


ターミナルでそのフォルダに移動して下記コマンドラインを実行
sh pdf_count.sh <Enter>

同フォルダに結果ファイル「result.csv」が出来ます。
3列構成で以下の通りです。
1列目 レコードナンバー
2列目 PDFファイルページ数
3列目 対象PDFファイル名

【pdf_count.sh】の内容
--ここから------------------------------------
#!/bin/sh

find -H . -type f -name "*.pdf" > 1.log
sed 's/^\.\///' 1.log > tmpfile

>2.log
for i in `cat tmpfile`
do
PAGE=`python -c "import os;from CoreGraphics import *;print(CGPDFDocumentCreateWithProvider(CGDataProviderCreateWithFilename('${i}')).getNumberOfPages())"`
echo "${PAGE},${i}" >>2.log
done

awk -F',' '{sum+=$1} {print NR","$0} END {print "Summary: Files="NR" Pages="sum}' 2.log > result.csv
rm 1.log 2.log tmpfile
--ここまで------------------------------------
※ PDFファイル名に半角スペースや半角記号[]<>などが含まれていると上手くいかないかもしれません。

【おまけ】
result.csvをエクセルで開くと、ファイル名に日本語が含まれている部分は文字化けすると思いますので、その際は↓などとして文字コード変換してください。

iconv -f UTF-8-MAC -t SHIFT_JIS result.csv > result_sjis.csv
    • good
    • 2
この回答へのお礼

助かりました

本当にありがとうございます!!!!
一発で表示されました!!

言葉になりません。
それくらい嬉しいです。

お礼日時:2016/12/12 14:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報