How can I recursively find all files in current and subfolders based on wildcard matching?
如何根据通配符匹配递归查找当前和子文件夹中的所有文件?
使用定位是:
1 | find . -name"foo*" |
piping grep查找到更多的往往是convenient;它给你的全功率的四正则表达式的匹配对野生卡。
例如,找到所有病例档案与钝感的字符串"foo"文件名:
1 | ~$ find . -print | grep -i foo |
1 | find . -name"*foo" |
然而,如果你想要一个画面:
1 | tree -P"*foo" |
希望这helps!
1 | find -L . -name"foo*" |
在几个案例中,有需要的参数的两个目录的符号链接的行为。城市的默认符号链接是不容忽视的。在那些情况是很长confusing AA会改变目录的子目录和文件,看到的模式匹配,但找不回我的文件名。用你那solves事件。"查找符号链接选项- P L H
如果你支持一个新的壳(shell选项可以激活城市:
1 | echo **/*foo* |
找到的任何文件或folders recursively。这是支持Bash 4市,壳牌和Zsh相似。
道贺的有壳的定义:这个功能
1 | f() { find . -name"*$1*"; } |
注:以上线可以糊加两个壳或直接进入你的用户的
然后我看任何城市typlng档案:
1 | f some_name |
你可以使用一alternatively
1 | find <directory_path> -type f -name"<wildcard-match>" |
在野生卡匹配的字符串,你可以提供你希望比赛如*(C C的所有文件)
在情况下,
语法:
1 | fd PATTERN |
演示:
你可以使用。
1 | # find . -type f -name 'text_for_search' |
如果你想要使用regx使用
1 | # find . -type f -iname 'text_for_search' |
默认的递归方式搜索文件,可在大多数用例和冰淇淋
1 | find . -name"filepattern" |
它开始traversing递归模式为文件名或目录内的电流从在你的位置。与你的命令,你可以使用通配符,和各种开关,看到的全科型战略期权
1 | man find |
或如果你页面的不可用的系统。
1 | find --help |
然而,有更多的现代工具我找鸭的阿姨,这是你的整个文件系统和traversing密封你的档案,一个这样的普通工具或冰locate slocate / mlocate,你应该检查你的在线手册,我们如何安装它,一旦它的安装需要两个发起信息数据库,如果不安装脚本这不是你的你,它可以完成的手册地市typlng
1 | sudo updatedb |
鸭子,看两个使用它的一些特殊的文件类型
1 | locate filename |
或者,看看两个奶头从文件名或目录内的电流型的,你可以:
1 | pwd | xargs -n 1 -I {} locate"filepattern" |
看通网络将其数据库的文件的路径和名称,打印出的悲哀,模式匹配,你有型。 看到全表locate期权的类型:
你可以locate additionally configure更新数据库信息的在线预定时报通过cron作业,所以样品cron更新数据库,以1am会看起来像:
1 | 0 1 * * * updatedb |
这些计划需要两个工作configured根市需求,因为updatedb特权两根导线的整个文件系统。
文件搜索
1 | find . -type f -name"*.iso" |
下面的命令将列出当前文件夹及其子文件夹中具有确切名称"pattern"(例如)的所有文件。
下面的命令有助于搜索任何文件1)不论情况如何2)未经许可排除文件夹的结果3)从根目录或您喜欢的路径进行搜索。更改/使用您喜欢的路径。Syntax:find-iname""2>&;1_grep-v"权限被拒绝"例子
find / -iname 'C*.xml' 2>&1 | grep -v"Permission denied"
1 | find / -iname '*C*.xml' 2>&1 | grep -v"Permission denied" |
这将搜索当前目录和子目录中的所有相关文件,分别计算它们的行数,以及全部行数:
1 | find . -name"*.wanted" | xargs wc -l |
如果你想要搜索的两个特殊文件与野生卡,你可以使用下面的代码:
1 | find . -type f -name"*.conf" |
假如,你想搜索的每一.conf档案从这里: