如果我有一个大文件,需要将其拆分为100兆字节的块,我会做
split -b 100m myImage.iso
通常给我这样的东西
xaa
xab
xac
xad
为了让他们重新在一起,我一直在使用
cat x* > myImage.iso
似乎应该有一种比读取一组文件中每一行代码cat
并将输出重定向到新文件更有效的方法。就像只打开两个文件,EOF
从第一个文件中删除标记并连接它们的方式一样-无需浏览所有内容。
Windows / DOS具有二进制文件的复制命令。帮助中提到该命令旨在能够合并多个文件。可以使用以下语法:(/b
用于二进制模式)
copy /b file1 + file2 + file3 outputfile
在Linux上,有没有比cat相似或更好的方法来联接大文件?
更新资料
看来这cat
实际上是加入文件的正确方法和最佳方法。很高兴知道我一直在使用正确的命令:)谢谢大家的反馈。
cat x*
您可以考虑使用外壳支撑扩展,cat xa{a..g}
将指定的序列扩展为cat
xaa xab xac xad xae xaf xag
cat x*
吗?新的语言环境设置是否也不会受影响,split
因此,如果split
和cat x*
在同一系统上使用,它们将始终有效?
split.c
在GNU Coreutils中,后缀是由固定的字符数组构成的:static char const *suffix_alphabet = "abcdefghijklmnopqrstuvwxyz";
。后缀将不受语言环境的影响。(但我认为任何理智的语言环境都不会对小写字母进行重新排序;甚至EBCDIC都保持其标准顺序。)
cat x*
,因为文件的顺序取决于您的区域设置。最好先键入cat x
,而不是按Esc,然后再键入*
-您将看到文件的扩展顺序并可以重新排列。