列出匹配模式的文件,当bash globbing太多时

时间:2013-06-29 16:14:28

标签: bash find ls

我想运行以下内容:

ls /path/to/files/pattern*

并获取

/path/to/files/pattern1 
/path/to/files/pattern2 
/path/to/files/pattern3

但是,有太多文件匹配该目录中的模式,我得到

bash: /bin/ls: Argument list too long

有什么更好的方法可以做到这一点?也许使用find命令?我需要打印出文件的完整路径。

1 个答案:

答案 0 :(得分:28)

这是findxargs结合使用的地方。

find /path/to/files -name "pattern*" -print0 | xargs -0 ls

注释注释: xargs如果您希望在从find获取列表后对其进行操作,将会有所帮助。如果您只打算列出文件,那么find就足够了。但是,如果您希望copydelete或对列表执行任何操作,那么使用xargs代替-exec会有所帮助。