-1

我知道要在 Linux 中附加或加入多个文件,我们可以使用命令:cat file1 >> file2. 但是加入他们后我找不到任何可以分开的命令file1file2换句话说,我既想要原始file1又想要file2回来。我尝试使用该split命令,但它只是将一个文件分解为多个相同大小的文件。

有没有办法做到这一点?

4

3 回答 3

1

没有这样的命令,因为没有保留有关 file1 或 file2 的信息。新的组合文件只是一个数据流。

为了“拆分”它们备份,您需要有关如何执行此操作的规则(例如,file1 和 file2 有多少字节)。

于 2012-09-20T04:24:12.350 回答
1

当您执行连接时,系统不会跟踪生成的文件是如何创建的。因此它无法记住原始拆分在该文件中的位置。你能解释一下你想要做什么吗?

于 2012-09-20T04:25:49.437 回答
0

没问题,只要你还有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 ' '更长但更便携的 .

于 2014-10-02T01:05:58.540 回答