linux 包含字符串的文件(linux查看已安装的软件包)
大家好,linux 包含字符串的文件相信很多的网友都不是很明白,包括linux查看已安装的软件包也是一样,不过没有关系,接下来就来为大家分享关于linux 包含字符串的文件和linux查看已安装的软件包的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
怎样在Linux下查找文件内容包含某个特定字符串的文件
如何在Linux下查找文件内容包含某个特定字符串的文件?
我的目录下面有test1和test2两个文件夹,里面都含有很多文件,其中test2里面还包含一个test文件夹
我想请问的是,如何通过查找关键字test从而找到test1跟test2还有test,并且不显示其他文件
我尝试过用find/path-nametest查找,结果出来的是/path/test2/test
lstest*查找,结果连同test1跟test2里面的子文件都显示出来,罗列了一大堆
我还尝试了用findtest*查找,结果跟用上面的一样,只是罗列的方式不一样而已
如何在Linux下查找文件内容包含某个特定字符串的文件
概述
使用grep可以查找包含指定字符串的文件
步骤详解
格式:
grep“要查找的字符串”文件名
例子:
grep"192.168.0.1"/etc
文件名可以使用基本正则表达式(BRE),例如,查找test目录下的所有文件,是否包含www.dutycode.com字符串。
grep“www.dutycode.com”/root/zzh/test/*
小贴士:使用-n参数,可以显示字符串在文件中的行数
拓展内容
关于grep的命令的使用:
几个常用的查询指令:
1、查找时不区分字符串的大小写
grep-i“查找的字符串”文件名
2、查找时使用正则表达式,匹配符合的字符串
grep-e“正则表达式”文件名
3、查找不匹配指定字符串的行:
grep-v“被查找的字符串”文件名
4、查找时显示被查找字符串所在的行数
grep-n“查找的字符串”文件名
linux查找目录下的所有文件中是否含有某个字符串
grep-rn"hello,world!"*
*:表示当前目录所有文件,也可以是某个文件名
-r是递归查找
-n是显示行号
-R查找所有文件包含子目录
-i忽略大小写
下面是一些有意思的命令行参数:
grep-i pattern files:不区分大小写地搜索。默认情况区分大小写,
grep-l pattern files:只列出匹配的文件名,
grep-L pattern files:列出不匹配的文件名,
grep-w pattern files:只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep-C number pattern files:匹配的上下文分别显示[number]行,
grep pattern1| pattern2 files:显示匹配 pattern1或 pattern2的行,
grep pattern1 files| grep pattern2:显示既匹配 pattern1又匹配 pattern2的行。
这里还有些用于搜索的特殊符号:
\<和\>分别标注单词的开始与结尾。
例如:
grep man*会匹配‘Batman’、‘manic’、‘man’等,
grep'\<man'*匹配‘manic’和‘man’,但不是‘Batman’,
grep'\<man\>'只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
2,xargs配合grep查找
find-type f-name'*.php'|xargs grep'GroupRecord'