テキストファイルの一部と再構成を別々に保存:複数のターゲットとのシンボリックリンク?

テキストファイルの一部と再構成を別々に保存:複数のターゲットとのシンボリックリンク?

タイトルは異なりますが、内容は同じ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

  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
    
  2. S3QL適用される圧縮と重複排除ブロックを押してください。一部の行では、重複排除が始まるポイントに到達する可能性が低くなりますが、ほとんどの類似ファイルには非常に効果的です。 (名前にもかかわらず、あなたはS3ストレージは不要実行できるようにします。 )

    S3QLは素晴らしい作品です。私は長期アーカイブのバックアップを維持するために使用します。

  3. 各ファイルを独自の公開部分に分割できますか?

     nl < <(cat header1 common)          # Number the lines from file1
     cp <(cat header2 common) /tmp/f2    # Copy the composite file2
    

おすすめ記事