gpt4 book ai didi

linux - 为什么 GNU sort 会在这个特定文件上挂起 10 个小时以上

转载 作者:太空宇宙 更新时间:2023-11-04 11:43:16 24 4
gpt4 key购买 nike

我正在尝试使用 Ubuntu 18 lts 附带的 gnu sort 合并和删除相同类型的纯 txt 文件的几个不同版本。我几乎每天都使用排序,在排序 1gb 以上的文件时没有遇到任何问题。

但是,我有以下命令,当我让它在后台运行 10 小时(总共约 600 MB 数据)时仍然无法完成:

find backups -type f -iname 'file0.txt' -o -iname 'file1.txt' -o -iname 'file2.txt' -o -iname 'file3.txt' -exec sort -u {} + > "combined.txt"

排序部分是导致问题的原因,命令的其余部分与我的测试无关。我将所有文件分类为一个 ~600 MB 的文件,当我尝试对这个文件进行排序时,即使将内存缓冲区设置为 80% 且有大约 6GB 的可用内存,它仍然会永远挂起。我对磁盘空间也没有问题。

虽然它仍在运行,但我已经拖入了一个未排序的 3gb 文本文件并成功对其进行了排序。如果这很重要,我会在虚拟机中执行此操作。

什么会导致这种行为?

最佳答案

在发出排序命令之前设置 LC_ALL=C 或在脚本文件开头的 shebang 下导出 LC_ALL=C 解决了这个问题。不确定为什么上次更新添加到文本文件的特定文本会导致命令在没有 LC_ALL=C 的情况下永远卡住。

关于linux - 为什么 GNU sort 会在这个特定文件上挂起 10 个小时以上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58621742/

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