22

我想运行以下命令:

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 命令?我需要打印出文件的完整路径。

4

1 回答 1

40

这就是find结合使用的地方xargs

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

注释中的注释: xargs如果您希望在从find. 如果您只打算列出文件,那么find就足够了。但是,如果您希望copydelete或对列表执行任何操作,那么使用xargs而不是-exec会有所帮助。

于 2013-06-29T16:19:09.807 回答