メタデータが見つからないPDFファイルのリスト

メタデータが見つからないPDFファイルのリスト

かつて私は別のサーバー上のディレクトリにあるファイルの変更を報告する必要があるいくつかの作業を実行し、単純なUnixコマンドを使用してレポートを作成しました。私は以下を使用しました:

ls -R -lT /Volumes/www/subdir/ | awk '{if ($7=="" ) print $0; else print $11";"$7"/"$8"/"$10;}' > /Users/[username]/Desktop/output.txt 

これで、メタデータが欠落しているすべてのPDFファイルのレポートを作成する必要があります。ファイルのメタデータを確認し、メタデータが欠落しているファイルのみを出力する方法(現在のアプローチと似ています)があるかどうか疑問に思います。データをExcelにインポートできるように、lsの結果をファイルにパイプしたいと思います。他のレポートでは、awkを使用してExcelにインポートするls出力形式を指定しました。

これはMacで行われ、オフィスのハードウェアにソフトウェアをインストールする管理者権限がないため、インストールするよりも組み込みのコマンドを使用することを好みます。

修正する: レポートはPDFだけでなく、今後他のファイル形式も報告するように変更される予定です。したがって、レポートは1つ以上のファイル形式を検索できます。

今確認するメタデータは次のとおりです。

  • タイトル
  • 作家
  • トピック
  • キーワード

以下を使用してファイルメタデータを正常に一覧表示しました。

mdls [path to file]

これにより、すべてのメタデータのリストが生成されます。メタで埋められたPDFとメタが埋められていないPDFでテストしました。メタデータが欠落しており、nullを返すのではなく、メタキーがまったくリストされていないことがわかりました。

私が現在試しているものは次のとおりです。

mdfind -onlyin /Volumes/web/ "kMDItemAuthors == ''"

このデータを使用して出力をフィルタリングするにはどうすればよいですか?ls

修正する: 以下を使用して、すべてのPDFがリストされたレポートを取得しました。

ls -R -lT [server directory path] | grep ".[file extension]" | awk '{print $11";"$7"/"$8"/"$10;}' > [output file path] 

これの1つの副作用は、lsの再帰属性を失うことです。まだ作業中です。

また、必要なメタデータが欠落しているコンテンツのみをフィルタリングする方法も見つける必要があります。また、すべてのメタデータを含むPDFレポートも作成する必要があると言われました。現在のコマンドを使用して、出力を最初にmdfindにパイプしてからawkにパイプしてみましたが、何かが抜けているようです。

ベストアンサー1

使用エクスポートツール

-T -FilePath拡張子pdf-r)があり、/search/path指定されたメタデータが空の()すべてのファイルのフルパスを繰り返し印刷するには、次のようにします。

exiftool -T -FilePath \
         -if '$FileTypeExtension eq "pdf"' \
         -if '(not $Title) or (not $Author) or (not $Subject) or (not $Keywords)' \
         -r /search/path

将来の要件に合わせてコマンドをカスタマイズします。

おすすめ記事