gpt4 book ai didi

linux - 为什么 linux split 程序对大于 20GB 的大文件有奇怪的行为?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:27 32 4
gpt4 key购买 nike

我正在我的 ubuntu 上做下一条语句:

split --number=l/5 /pathToSource.csv /pathToOutputDirectory

如果我执行“ls”

myUser@serverNAme:/pathToOutputDirectory> ls -la

total 21467452
drwxr-xr-x 2 myUser group 4096 Jun 23 08:51 .
drwxrwxrwx 4 myUser group 4096 Jun 23 08:44 ..
-rw-r--r-- 1 myUser group 10353843231 Jun 23 08:48 aa
-rw-r--r-- 1 myUser group 0 Jun 23 08:48 ab
-rw-r--r-- 1 myUser group 11376663825 Jun 23 08:51 ac
-rw-r--r-- 1 myUser group 0 Jun 23 08:51 ad
-rw-r--r-- 1 myUser group 252141913 Jun 23 08:51 ae

如果我对 ab 和广告文件执行“du”操作。

$du -h ab ad
0 ab
0 ad

如您所见,split 以非同质形式分割了文件。有人知道发生了什么事吗?一些不可打印的字符可以挂split吗?谢谢。此致!弗朗西斯科。

最佳答案

虽然这是平均行长度为 114137 的不寻常数据,但我不确定是否完全描述了问题。嗯,你有 21982648969 的数据 => 每个拆分试图填充的桶是 4396529793。这大于 2^32。我想知道我们是否有 32 位溢出。您使用的是 32 位还是 64 位平台?查看代码,我没有看到溢出问题 TBH。请注意,您可以匿名化和压缩提供以下文件的数据以供在某处下载:

tr -c '\n' . < /pathToSource.csv | xz > /pathToSource.csv.xz

还值得指定版本,因为实现在 v8.8 和 v8.13 之间发生了一些变化

关于linux - 为什么 linux split 程序对大于 20GB 的大文件有奇怪的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31004209/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com