假设我有5个非常大的100GB文件。
file1
file2
file3
file4
file5
如果我想将它们组合成fileAll
,那么以下两种方式之间是否存在速度(读/写)差异? (暂时不要忽视工作磁盘空间)
Cat并重定向:
cat file1 file2 file3 file4 file5 > fileAll
Cat,追加,移动/重命名:
cat file2 file3 file4 file5 >> file1
mv file1 fileAll
我的假设:
我假设cat
将在每个文件中完全读取它连接(在此示例中总共500GB的读数),然后重定向>
将写出所有内容(总共500GB的写作) )。
在第二个例子中,我假设cat
将在一个较少的文件中读取(总共400GB的读数),然后在追加>>
时只需在文件后面的空格中写出来附加(总共400GB的写作)。
我是否认为追加不必读入附加到的整个文件并且只能在该文件的末尾开始写作?
答案 0 :(得分:1)
你的假设是正确的。 "附加"只需要一个"寻找"调用文件结束。在案例2中,不会从file1读取任何内容。