一个把 ChatGPT 难住的问题,修改文件的自然排序,你会怎么做?

查看 43|回复 4
作者:Hopetree   
这周有同事在部署一个系统的时候出了生产事故,原因是别人系统的 jar 包有很多,原本是需要 jar 包在自然顺序按照 a-z 排序的,不然就会出问题(就很离谱),暂且不谈这个的合理性吧,我们只讨论如何将一些自然排序是乱序的文件改成自然排序是 a-z
于是我给 ChatGPT 提问了,我告诉他我有三个文件 c.jar b.jar a.jar ,他们的自然排序是 a.jar c.jar b.jar ,怎么再不修改文件内容和文件名等信息的前提下改变他们的自然排序,结果 ChatGPT 给我一段扯,搞了半天也改不了,一直在给我改文件名,或者使用链接,反正没有给有效办法。
各位可以试一下:首先在任意目录执行 touch c.jar b.jar a.jar 创建 3 个文件,然后执行 ls -fi 就是查看自然排序,只要不是 a-z 就行,此时你需要想办法让 ls -fi 得到的自然排序是 a-z 排序
darkengine   
恕在下孤陋寡闻,什么叫自然排序?
Hopetree
OP
  
@darkengine 就是文件不经过排序 -f 就是不排序,不排序就是系统给文件的自然排序
lonelykid   
头一次听说“自然顺序”,文件排序的展示顺序不就是看上层应用的排序策略吗?如按创建时间、修改时间、文件名、文件类型、文件权限等进行排序。
按理说文件在文件系统里的排序应该和应用加载顺序解耦,外部 jar 包应该在应用内部自己处理加载顺序,解决依赖冲突,而不是通过文件接口获取的默认文件顺序加载。
Hopetree
OP
  
@lonelykid 可以搜索关键词“tomcat 加载 jar 包的顺序”,去看一下,如果你恰好是一个 Java 程序员,那么你更应该关注,这里有个坑就是关于自然排序的
您需要登录后才可以回帖 登录 | 立即注册

返回顶部