在终端中,我执行以下命令:
ls --all --recursive -1 *.htm*
或这个:
ls -a -R -1 *.htm*
但它只列出当前目录中的html文件......?!
根据'man ls',该选项具有此功能:
-R, --recursive
list subdirectories recursively
我从 Krusader Search 知道子文件夹中有大约 40 个 html 文件……但为什么 'ls' 不会列出它们呢?
我可能会补充一点,我刚刚发现以下命令可以完成这项工作:
find . -name '*.htm*'
它的工作方式与您的预期略有不同。
ls
将列出您在命令行中指定的文件和目录。使用-R
or--recursive
选项,它将进入命令行上指定的任何目录。当前目录中没有匹配
*.htm*
的目录,只有文件。因此,仅列出匹配的文件。find
可能是最适合递归查找文件的工具,但也可以使用ls -R
and来完成grep
:grep
在这里与正则表达式一起使用。