我知道要在 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 ' '
更长但更便携的 .