是否可以确保Bash中的通配符扩展按字母顺序排列?我被迫将一个大文件分成10 Mb,以便我的Mercurial存储库可以接受它们。
所以我想我可以使用:
split -b 10485760 Big.file BigFilePiece.
然后代替:
cat BigFile | bigFileProcessor
我可以做:
cat BigFilePiece.* | bigFileProcessor
代替它。
但是,我找不到任何地方这保证了星号(又名通配符,又名膨胀*
)将永远是按字母顺序排列,这样.aa
来之前.ab
(而不是被戳订购或类似的东西)。
另外,我的计划中是否有任何缺陷?cat
一起读取文件的性能成本有多少?
4
当然,您采用的是错误的方法。如果管理员对存储库中文件的大小设置了限制,则应与他联系。关于扩展-我一直看到扩展是字母数字的。
—
Mircea Vutcovici
sort
如果您需要任何其他订单操作,则始终可以通过管道进行浏览。
请注意,Mercurial可以管理任何大小的文件,受您拥有的RAM数量限制。如果添加大文件,则会收到警告,因为Mercurial假定它可以将文件保存在内存中。对于合并,Mercurial需要在内存中保存两个文件。因此,具有少量RAM的计算机可能无法检出文件。我刚刚对其进行了测试,并且
—
马丁·盖斯勒
hg commit
在N
MB文件上需要大约3 * N
MB RAM,并且hg update
大约需要2 * N
MB RAM。这是Linux上的Mercurial 1.5。