Linux で複数のファイルを追加または結合するには、次のコマンドを使用できることを知っていますcat file1 >> file2
。しかし、結合後に分離file1
するコマンドが見つかりませんでした。file2
つまり、オリジナルfile1
もfile2
バックも両方欲しい。コマンドを使用しようとしましたsplit
が、ファイルを同じサイズの複数のファイルに分割するだけです。
それを行う方法はありますか?
file1またはfile2が何であったかに関する情報が保持されないため、このようなコマンドはありません。新しい結合ファイルは単なるデータストリームです。
それらを「分割」してバックアップするには、その方法に関するルール(file1とfile2のバイト数など)が必要です。
連結を実行すると、システムは結果のファイルがどのように作成されたかを追跡しません。したがって、元の分割がそのファイルのどこにあったかを思い出す方法はありません。あなたがやろうとしていることを説明できますか?
file1 がある限り、問題ありません。
$ echo foobar >file1
$ echo blah >file2
$ cat file1 >> file2
$ truncate -s $(( $(stat -c '%s' file2) - $(stat -c '%s' file1) )) file2
$ cat file2
blah
また、代わりにstat -c '%s' filename
を使用できますwc -c filename | cut -f 1 -d ' '
。これは、より長くなりますが、移植性が高くなります。