私のファイル(この場合はPDFファイル)にタグを追加してファイルシステムから検索し、コマンドラインまたはスクリプトで結果を処理したいと思います。
一般ファイルに対してこれを行うことができるLinuxツールはありますか?
簡単な方法は、ファイル名を変更してfind -execを使用するか、パイプラインからファイル名にアクセスすることです。ファイルに複数のタグを付けたい、ファイル名が長いが、このように扱いたい。
たとえば、PDFファイルが多すぎるとします。だから私はそれらのいくつかを次のようにマークしたいと思います。請求書、その一部は次のような役割を果たします。ドラフト
これにより、後でアプリケーションが自分のファイルシステムを参照して一致するものを処理できるようになります。作成するとしましょうシンボリックリンクこれらすべての項目を適切なフォルダに入れるか、マージ一つのPDFなどにマージします。
私の質問は、次のようにパイプラインから2番目に出てくるプログラムに関するものではありません。
ln
、、、しかしタグを直接使用する場合(タグの適用とそのタグを含むファイルの検索gs
)pdfjoin
ベストアンサー1
これはあなたが考えるものとは異なりますが、メタデータをサポートするファイルを使用することに興味がある場合は、PDFファイルを含むexiftool
さまざまなファイル形式のメタデータを表示および変更できます。完全なリストについてはを参照してくださいman exiftool
。
私はPDFでメタデータを作成および変更するために何度も使用してきました。たとえば、
exiftool -Title="My PDF" \
-Subject="stuff" \
-Description="my pdf about various things" \
-Keywords="miscellanea, nonsense" \
-Author="me" \
-Creator="also me" \
"mypdf.pdf"
今、それはあなたの考えとより関連性が高まりました。メタデータフィールドKeywords
(または任意のフィールド生成をサポートするファイル形式の他のフィールド(多くの場合))を使用してファイル自体にタグを保存できるため、スクリプトはタグシンボリックリンクフィールドを自動的に維持できます。
あるいは、スクリプトはsqlite
、ファイル名(フル絶対パスを含む)、ファイルシステムメタデータ(タイムスタンプ、サイズ、権限など)、およびそのファイルのリストを含むデータベース(CSVなどのプレーンテキストまたはSQLデータベースなど)を維持できます。あります。ブランド。このデータベースを検索し、結果を有用な形式で返すために追加のスクリプトを作成できます。
たとえば、
vi $(search-tagged-files --date "last sunday" --keywords thesis)
または
localc $(search-tagged-files --keywords budget,2017 \
--mimetype=application/vnd.oasis.opendocument.spreadsheet)
注:この方法の主な欠点は、各ファイルのタグを保持することが多くの作業であることです。これらの一部は自動化できますが、ほとんどは退屈で時間のかかる手動操作です。これは、システムの設計と開発に必要な時間を無視します。
ファイルを作成または編集するために使用されるプログラムは、ファイル管理mv
システムcp
またはrm
。
このタグデータベースについて知っている多くの人のためにラッパースクリプトを作成して自動的に更新できますが、GUIファイルブラウザを使用してファイルを移動、コピー、開くなどを行う場合は、どこから始めるべきかさえわかりません。それで。 .ファイルブラウザを直接作成する必要があるかもしれません。
似たような考えを持つほとんどの人が「代わりによく整理されたディレクトリツリーを使用します」と考える最大の理由は、関連する作業です。文書を管理するためのコードを書くのに必要な努力も膨大であり、各ファイルのメタデータを管理するための努力もはるかに大きいです。通常、数万以上の文書を保存する必要がある大規模な組織の努力と同じ価値があります。追跡する。
これは新しいアイデアではなく、このアイデアに関する多くの研究開発がありました。その名前の一つはファイル管理システム。