Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想运行以下命令:
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 命令?我需要打印出文件的完整路径。
这就是find结合使用的地方xargs。
find
xargs
find /path/to/files -name "pattern*" -print0 | xargs -0 ls
注释中的注释: xargs如果您希望在从find. 如果您只打算列出文件,那么find就足够了。但是,如果您希望copy,delete或对列表执行任何操作,那么使用xargs而不是-exec会有所帮助。
copy
delete
-exec