ls * 可以列出子目录中的所有文件。 ls *.pdb 只能列出当前目录中扩展名为pdb的所有文件。 那么如何列出子目录中扩展名为pdb的所有文件呢? 我的子目录名为 1, 2, 3, .... 我希望输出也包括目录信息,这样我就可以把输出作为一组输入文件。例如,输出应该像这样: 1/a.pdb 1/b.pdb 1/c.pdb 2/a.pdb 2/b.pdb 2/c.pdb 3/a.pdb 3/b.pdb 3/c.pdb
3个解决方案: 简单的globls */*.pdb 使用 bash 进行递归shopt -s globstar ls **/*.pdb 使用find进行递归find . -type f -name '*.pdb'
也试试这个: locate */*.pdb 这是为之前创建的数据库而设计的。 如果你编写了一些Python代码,然后立即使用两者,你就可以看到它们之间的区别。 locate */*.py ls */*.py
ls */*.pdb
。您还可以启用dotglob
并使用**
作为所有子目录的通配符(使用 bash)。否则,您可以使用find -type f -name "*.pdb"
来定位嵌套子目录中的所有.pdb
文件。 - David C. Rankinfind . -name \*.pdb
。 - Robert