Chinaunix

标题: 求助:不用 ls 命令怎样才能得到一个按文件名排好序的文件列表? [打印本页]

作者: hgfa    时间: 2006-02-16 09:41
标题: 求助:不用 ls 命令怎样才能得到一个按文件名排好序的文件列表?
自己写了一个 shell ,其中需要用 ls 命令得到按文件名排好序的文件列表(文件名都是数字的可能会有几千到几万个),问题是如果文件太多会提示: arg list too long ,我想知道当前目录最多有多少文件用ls命令才可以正常显示,有没有其他办法可以得到按文件名排序的当前目录的文件列表.  用fing得到的不是排好序的.我的使用环境是虚拟机里的UNIX5.0.6
谢谢
作者: waker    时间: 2006-02-16 09:51
单独的
ls
命令也会 toomany的话,注意不是 ls *
请检查一下你是不是set了太多的参数变量
作者: 大蚂蚁    时间: 2006-02-16 13:26
个人感觉,直接ls的话 应该没问题,如果 ls *  则不行,会提示参数过多
作者: waker    时间: 2006-02-16 13:29
在著名的bugware中一切都有可能
作者: ha_    时间: 2006-02-16 13:29
echo *
作者: zhjchaucer    时间: 2006-02-16 16:23
用 sort -rn 试试 。
作者: 網中人    时间: 2006-02-16 21:17
find  -maxdepth 1
作者: 寂寞烈火    时间: 2006-02-16 23:15
dir
作者: 风往南吹    时间: 2006-02-17 09:12
如果出现这种问题,往往是文件太多,ls输出困难

你可以考虑用ls | xargs 来一次输出一部分,xargs -n参数是一次输出多少的控制
作者: skybility    时间: 2006-02-17 10:24
8楼的说法是正确的
作者: hgfa    时间: 2006-02-17 12:54
标题: 谢谢大家
首先谢谢大家
   我是用的 ls 123456* 的方式运行的,改用 ls 就没事了,试了试至少一万个文件时是可以的,2,3楼是正确的.
     5楼的echo * 也不错(想不到还有这种方法,呵呵)只是生成的文件是不换行的还需要对文件处理一下,因为我需要的是一个文件名一行的文件.
     其他的不行,也许是系统不同的原因.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2