ストレージデバイス全体でファイルに同じinode番号を使用させるにはどうすればよいですか?私が考えることができる唯一の方法はを使用することですがdd
、それを行うにはファイルを追加するだけでコンテナ全体をコピーする必要があります。
大容量ファイルセットに固定ID番号を割り当てたいです。ファイルの内容は間違いなく変更されます(したがってmd5sumは機能しません)。 IDはファイルに含めることはできません。
目標は、着信する各ファイルにID、いくつかのタグ/説明/ステータスが割り当てられる小規模な文書管理システムを構築することです。
ファイルに何も書き込めません。したがって、これらのテンプレート/タイトルの一部は禁忌です。
したがって、デフォルトでは、すべてのファイルには次の形式の履歴が必要です。ID:5683958754日付:xxxx-xx-xxタグ:picture、message ordoc Action:store Origin:client xまたはweb-page www.sample.com ..
これらのメタ情報をすべてのファイルに関連付ける最小限の方法は何ですか?
答え1
ストレージデバイス全体でファイルに同じinode番号を使用させるにはどうすればよいですか?
あなたはできません。
一方、今あなたの要件を説明しました。
各ファイルには、次の形式の履歴が必要です。ID:5683958754日付:xxxx-xx-xxタグ:画像、メッセージordocアクション:リポジトリソース:クライアントxまたはWebページwww.sample.com ...
grep
タブ区切りのフィールドをインポートして、一般ファイルを使用するか、awk
一般ファイルから選択できます。それよりもはるかに、私は少なくとも提案したいと思いますsqlite
。しかし、私たちは実際にアプリケーションアーキテクチャに入ります。
私はこのようなことを考えます
id <tab> date-in-seconds <tab> tag1,tag2,tag <tab> action <tab> filename <tab> filepath <tab> origin
その後、IDキーを渡すことができます
id=1234
awk -F$'\t' id="$id" '$1==id {print $6}'
またはファイル名で
filename='rhubarb.txt'
awk -F$'\t' key="$filename" '$5==key {print $6}'
または日付範囲別に
mindate=$(date --utc --date '1 mar 2019 19:00' +%s)
awk -F$'\t' key="$mindate" '$2>key {print $6}'