タイトルは異なりますが、内容は同じ2つのテキストファイルを持っています。
$ cat original_file_v1
header 1 beginning
header 1 contents
header 1 end
common contents line 1
common contents line 2
...
$ cat original_file_v2
header 2 beginning
header 2 contents
header 2 end
common contents line 1
common contents line 2
...
私の考えでは:
- スペースを節約するために、複数のファイルのヘッダーと共通のコンテンツを単一のファイルに一度だけ保存します。
- 必要に応じて
original_file_v1
再創造する能力。original_file_v2
これは重複排除の一形態ですが、選択した特定のファイルにのみ当てはまります。
方法がありますか?どのext
とを含むLinuxファイルシステムは、このZFS
作業に適していますか?それともこれを行うための外部ツールはありますか?
提案と同様に、ソリューションはシンボリックリンク配列、ソートされた配列で構成されるファイルです。集めるユーザーが実際にアレイにアクセスできるように、ターゲットファイルみんなこれらのファイルは指定された順序で行われます。しかし、それが存在するかどうかはわかりません。
答え1
ファイルアーカイブ(
tar
圧縮適用など)を使用すると、ファイルを再作成できます。必要なときしかし、不透明tar czf bothfiles.tgz original_file_v1 original_file_v2 tar cf - original_file_v1 original_file_v2 | gzip > bothfiles.tgz
最初のファイルを復元するには、
tar xzf bothfiles.tgz original_file_v1
S3QL適用される圧縮と重複排除ブロックを押してください。一部の行では、重複排除が始まるポイントに到達する可能性が低くなりますが、ほとんどの類似ファイルには非常に効果的です。 (名前にもかかわらず、あなたはS3ストレージは不要実行できるようにします。 )
S3QLは素晴らしい作品です。私は長期アーカイブのバックアップを維持するために使用します。
各ファイルを独自の公開部分に分割できますか?
nl < <(cat header1 common) # Number the lines from file1 cp <(cat header2 common) /tmp/f2 # Copy the composite file2