我知道要在Linux中追加或加入多个文件,我们可以使用命令:cat file1 >> file2
。
但在加入file1
后,我找不到任何命令将file2
与file1
分开。换句话说,我希望原来的file2
和split
都回来了。我尝试使用{{1}}命令,但它只是将文件记录到具有相同大小的多个文件中。
有办法吗?
答案 0 :(得分:1)
没有这样的命令,因为没有关于什么是file1或file2的信息被保留。新的组合文件只是一个数据流。
为了将它们“拆分”回来,你需要有关如何执行此操作的规则(例如,file1和file2有多少字节)。
答案 1 :(得分:1)
执行连接时,系统不会跟踪生成的文件的生成方式。所以它无法记住原始分割在该文件中的位置。 你能解释一下你想要做什么吗?
答案 2 :(得分: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 ' '
,{{1}}更长但更便携。