linux查找当前目录下所有子目录特定文件类型需要查找的文件内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux查找当前目录下所有子目录特定文件类型需要查找的文件内容相关的知识,希望对你有一定的参考价值。
1、登录Linux系统之后打开终端,确定你要找关键字的目录。
2、查看下当前目录下所有的文件,你所要找的关键字就在当前目录下某个文件里面。
3、find -type f -print这个命令可以列出当前目录下的所有文件。
4、type后面的f是file的意思,所以只列出文件,而排除文件夹。
5、接下来只要在find命令后面加上exec命令就可以实现。
参考技术A1、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这个词
参考技术B find ./ -name *.h|xargs grep "test"表示从当前目录以及其所有子目录下的所有后缀为:.h的文件中,搜索包含字符串"test"的文件 参考技术C find加cat命令
具体你查看命令的帮助信息。本回答被提问者采纳
linux下如何查找需要的文件后并删除
1.首先查找指定目录下的文件,默认为当前目录
使用命令:find . -name ‘a.txt‘
会得到当前目录下所有包括子孙目录下的所有后缀为txt的文件
2.查找后删除
使用命令:find . -name ‘a.txt‘ |xargs rm -rf
会删除所有当前目录下所有子孙目录下所有后缀为txt的文件
以上是关于linux查找当前目录下所有子目录特定文件类型需要查找的文件内容的主要内容,如果未能解决你的问题,请参考以下文章
linux find命令查找当前目录下7天前的文件但排除所有目录