列表太长了`ls`命令,CSH

时间:2011-06-19 06:22:44

标签: csh ls

我想在几个目录中获取ofl类型的所有文件的列表。我使用了fallowing命令:

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

但我收到了一条消息:/bin/ls: Argument list too long.有超过1600个此类文件。有没有办法继续获取文件列表?

修改

我需要文件的路径,而不仅仅是有多少wc试图查看我有多少文件而没有用1600多条路径“污染”我的屏幕。

3 个答案:

答案 0 :(得分:5)

使用find代替ls

示例:(假设您当前的工作目录是RESULTS的父级)

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

第二个选项:

find . -print | egrep '.ofl$'

答案 1 :(得分:0)

你可以创建一个快速bash脚本,为你的两个星中的一个迭代a到z的不同字母,然后,对于每个结果,你将wc的结果添加到每个itteration的当前总数中,然后返回结果

您还可以查看它是否可以正常使用:

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

只有两个不同的命令。可能更简单,虽然我不知道参数数量的限制。

答案 2 :(得分:0)

这可能很脏,但它适合我的需要和我的能力。我不认为它表现得非常快,但它让我可以继续我的一天。

ls | grep jpg | <something>

我获得了一个90,000长的jpgs列表并将它们传输到avconv以产生游戏中断。

我之前使用的是ls * .jpg | avconv在我遇到这个问题之前。