2011-06-19 97 views
2

我想要在几个目录中获取我所有ofl类型文件的列表。我用了休耕命令:列表太长,无法使用`ls`命令,CSH

ls RESULTS/*/quakesim/iecrud/quake/fgb/stflt/*.ofl 

但我得到了一个消息:/bin/ls: Argument list too long.有略多于1600页这样的文件。有没有办法继续获得文件列表?

编辑:

我需要的路径的文件,而不是有多少是那里的wc是作为一个尝试,看看我有多少个文件没有“污染”我的屏幕1600+路径。

+1

请不要写答案或意见,说我不该”不要使用'csh'。 – SIMEL

+0

*这个*实例实际上不是csh的错。 –

+0

http://unix.stackexchange.com/可能是一个更好的地方问 – nico

回答

5

使用find而不是ls

例子:(假定当前的工作目录是结果的母公司)

find . -name "RESULTS/*/quakesim/iecrud/quake/fgb/stflt/*.ofl" -print

第二个选项:

find . -print | egrep '.ofl$'

+0

第二个选项的工作。 – SIMEL

0

您可以制作一个快速bash脚本,它可以针对您的两颗星中的一颗对从a到z的不同字母进行迭代,然后,对于每个结果,将wc的结果添加到当前每个迭代的总和中,然后返回结果。

你也可以看看它是否会利用工作只是:在只有两个不同的命令

[a-m]* 
[o-z]* 

。虽然我不知道参数数量的限制,但可能会更简单。