如何基于通配符匹配递归查找当前和子文件夹中的所有文件?
当前回答
以下命令有助于搜索任何文件
无论情况如何未经许可排除文件夹的结果从根目录或您喜欢的路径搜索。更改/使用您喜欢的路径。
语法:
find <FromDirectory> -iname '<FileName wild char allowed>' 2>&1 | grep -v "Permission denied"
实例
find / -iname 'C*.xml' 2>&1 | grep -v "Permission denied"
其他回答
这将搜索当前目录和子目录中的所有相关文件,分别计算它们的行数以及总数:
find . -name "*.wanted" | xargs wc -l
以下命令将列出当前及其子文件夹中具有确切名称“pattern”(例如)的所有文件。
查找。/-名称“pattern”
如果已安装,请尝试使用fd命令。安装说明。
查找以“name”开头的所有文件:
fd "name*"
此命令忽略所有.hhidden和.gitignoreed文件。
要包含.gitignoreed文件,请添加-I选项,如下所示:
fd -I "name*"
要包含隐藏文件,请添加-H选项,如下所示:
fd -H "name*"
通过管道找到grep通常更方便;它为您提供了用于任意通配符匹配的正则表达式的全部功能。
例如,要查找文件名中不区分大小写字符串“foo”的所有文件:
find . -print | grep -i foo
find将查找与模式匹配的所有文件:
find . -name "*foo"
但是,如果您需要图片:
tree -P "*foo"
推荐文章
- 如何从查找“类型d”中排除此/ current / dot文件夹
- 在tmux中保持窗口名称固定
- 只使用md5sum获取哈希值(没有文件名)
- 如何生成一个核心转储在Linux上的分段错误?
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 使用sh shell比较字符串
- 在Bash中测试非零长度字符串:[-n "$var"]或["$var"]
- 如何创建Bash别名?
- 如何设置ssh超时时间?
- 将所有变量从一个shell脚本传递到另一个?
- 只列出UNIX中的目录
- 如何在Apache服务器上自动将HTTP重定向到HTTPS ?
- 如何删除shell脚本中文件名的扩展名?
- 如何限制从grep返回的结果的数量?
- 'find -exec'是Linux中的shell函数