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'

阅读剩余
THE END