linux查找当前目录下所有子目录特定文件类型需要查找的文件内容
推荐于2017-10-11 · 知道合伙人软件行家
知道合伙人软件行家
向TA提问 私信TA
1、find [选项] [目录] [条件] [动作]
如果不指定任何目录,find 将会查找当前目录。如果 不指定条件,则条件相当于“true”,这样会把全部文件都找出来。选项、条件和动作的设置十分繁多, 看看 几个参数选项:
-xdev:不明春毕在其它文件系统的目录中搜索。
-mindepth <n>:搜索文件时至少要深入到指定目录的第 n 层子目录。
-maxdepth <n>:搜索文件时最多深入到指定目录的第 n 层子目录。
-follow:如果符号链接到目录,则跟随符号链接进入。默认情况下,find 不跟随链接。
-daystart:当使用与事件相关的测试时(见下文),将当天的开始时间作为时间戳森哪,而不是默认值(从当前时间倒退24个小时)。
条件可以是一个或多个原子测试。这是一些有用的测试:
-type <文件类型>:搜索给定类型的文件。文件类型可以是以下之一:f(普通文件)、d(目录)、l(符号链接)、s(套接字)、b(块模式文件)、c(字符模式文件)或p(命名管道)。
-name <模式>:查找文件名与给定模式匹配的文件。使用此选项,模式将被看作shell 全局模式(参见“Shell 通配符”一节)。
-iname <模式>:与 -name 类似,但不区分大小写。
-atime <n>、-amin <n>:查找上次访问时间在 n 天前(-atime)或 n 分钟前(-amin) 的文件。您还可以指定 <+n> 或 <-n>,这代表要搜索访问时间在至多或者至少 n 天/分钟前的文件。
-anewer <文件>:查找上次访问时间晚于文件的文件。
-ctime <n>、-cmin <n>、-cnewer <file>:与 -atime、-amin 和 -anewer 相同,但比较的是文件上次修改的时间。
-regex <模式>:与 -name 相同,但模式将被看作正则表达式。
-iregex <pattern>:与 -regex 相同,但不区分大小写。
2、利用find加激芹grep,find找出文件,grep查找文件内容
# find . -type f -print | xargs grep "hostname"
用grep命令在所有的普通文件中搜索hostname这个词
表示从当前目察知录以及其所有子目录下的所有后缀为:.h的文件中,搜塌敏索包含字符串"test"团没枝的文件
具体你查看命令的帮助信息。