如何基于通配符匹配递归查找当前和子文件夹中的所有文件?
当前回答
对于Python>3.5,使用glob。指向当前文件夹并查找.txt文件:
python -c "import glob;[print(x) for x in glob.glob('./**/*txt', recursive=True)]"
对于较旧版本的Python,可以安装glob2
其他回答
fd
如果查找速度太慢,请尝试fd实用程序,这是一个简单而快速的替代方法,可以在Rust中查找。
语法:
fd PATTERN
演示:
主页:https://github.com/sharkdp/fd
以下命令将列出当前及其子文件夹中具有确切名称“pattern”(例如)的所有文件。
查找。/-名称“pattern”
这将搜索当前目录和子目录中的所有相关文件,分别计算它们的行数以及总数:
find . -name "*.wanted" | xargs wc -l
用于文件搜索
查找/-xdev-name settings.xml→ 整个计算机查找。/-xdev-名称设置.xml→ 当前目录及其子目录
对于具有扩展名类型的文件:
find . -type f -name "*.iso"
Use
find <directory_path> -type f -name "<wildcard-match>"
在通配符匹配中,您可以提供希望匹配的字符串,例如*.c(对于所有c文件)。
推荐文章
- 如何在Makefile中设置子进程的环境变量
- 如何让“wc -l”打印没有文件名的行数?
- 有效地测试Linux上的端口是否打开?
- 如何从另一个文件A中删除文件B中出现的行?
- 对以制表符分隔的文件进行排序
- Shell脚本删除超过n天的目录
- 使用sudo时未找到命令
- 当有命令行参数时,如何使用GDB分析程序的核心转储文件?
- 如何检查shell脚本中是否存在命令?
- 如何使用查找命令从列表中查找所有具有扩展名的文件?
- 如何强制从另一个SSH会话分离屏幕?
- 如何打破一个循环在Bash?
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- Linux Bash中双&和分号有什么区别?
- 如何合并2 JSON对象从2个文件使用jq?