ファイルシステムを処理して、コピー操作なしでバイナリファイルをマージできますか?

ファイルシステムを処理して、コピー操作なしでバイナリファイルをマージできますか?

私はシェルコマンドを使用してバイナリを効率的にマージしたいと思い、次の古典的な方法をすばやく見つけました。

cat file1 file2 > file3

悪くはありませんが:

  1. 非常に遅い。 IOアクセスが遅い。
  2. 追加スペースが必要です。ファイルをコピーしたくありません。ただ接続してください。

ファイルシステムは、ファイルの断片化を処理するのに適しています。このメカニズムを使用してファイルをマージできませんか?

ベストアンサー1

次のことができます。

cat file2 file3 [...] filen >> file1

これによりfile2、、、file3...がfilenin-placeの末尾に連結されます。file1この>>演算子はシェルに書き込むように指示します。ファイルの終わり

「ファイル断片化処理」のためにファイルシステムを活用しようとしています。残念ながら、これを行う普遍的な方法はありません。これは、「ファイルシステム」がディスク上のファイルシステムよりも一般的であるためです。たとえば、次のようになります。ネットワークファイルシステムヒューズ、そしてあらゆる種類のリソースを公開できる他の多くのメカニズム(ブロックデバイスハードディスクなど)をファイルシステム階層として使用します。ブロックデバイスベースのファイルシステムの場合でも、これを行うための標準的なメカニズムはなく、実装固有のメカニズムもわかりません。

おすすめ記事