如需学习视频,请在微信搜索公众年夜众号“智传网优”直接开始自助视频学习
1. 序言
本文紧张讲解如何在Linux系统下查找包含指定字符串的文件和搜索干系关键字。
linux查找包含字符串的文件
2. linux 查找包含字符串的文件干系实用案例
利用find命令查找文件,并把查找结果重定向至grep程序,由grep程序在每个文件内容里查找是否包含xxx字符串
[root@zcwyou ~]# find / -name \"大众\公众 | xargs grep \"大众xxxx\"大众
或者直策应用grep,指定要查找的字符串内容
[root@zcwyou ~]# grep \公众这里输入要匹配的字符串\"大众 ./ -Rn -l
关于命令后面的参数,本文后面会提及。
linux 查找包含字符串的文件干系实用案例
如果要查找出包含2个字符串的文件的文件名:
命令格式如下:
grep \"大众目标字符串1\"大众 ./ -Rn | grep \"大众目标字符串2\"大众 ./ -Rn -l
即在当前目录下,利用一个命令查找带目标字符串1的文件或带目标字符串2的文件。
linux系统中,如果你想在当前目录下查找所有包含\"大众www.linuxrumen.com\公众字符串的文件,可以这样输入命令:
[root@zcwyou ~]# grep -rn \"大众www.linuxrumen.com\"大众
命令grep部分选项阐明:
: 表示当前目录所有文件,也可以是某个文件名,可省略-r 递归查找干系文件
-n 打印时带行号
-R 查找所有文件包含子目录
-i 忽略大小写,默认情形区分大小写
-l 只列出匹配的文件名
-L 列出不匹配的文件名
-w 只匹配全体单词,而不是字符串的一部分(如匹配 'magic',而不是 'magical')
-C number 匹配的高下文分别显示[number]行
还有一些利用案例分享给大家:
查找当前目录下包含了zcwyou字符或者包含了redhat字符的文件,命令如下:
[root@zcwyou ~]# grep \"大众zcwyou\"大众 | \"大众redhat\"大众
查找当前目录下既包含字符串1又包含字符串2的文件
实行如下命令
grep \公众字符串1\"大众 | grep \"大众字符串2\"大众
当然还可以通过find和xargs结合grep查找文件列表,例如:
[root@zcwyou ~]# find -type f -name '.java'|xargs grep 'http'
如果你想在当前目录下 查找\"大众hello,world!\"大众字符串,可以利用以下命令:
[root@zcwyou ~]# grep -rn \"大众hello,world!\"大众
grep的常用选项功能阐明如下:
: 表示当前目录所有文件,也可以是某个文件名-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’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
xargs合营grep查找,利用find指令查找文件,后缀名为php,内容包含aaa,打印这些文件信息和干系内容
[root@zcwyou ~]# find -type f -name '.php'|xargs grep 'aaa'
linux查找包含字符串的文件实在利用最多是三个命令的组合
3.总结
linux查找包含字符串的文件实在利用最多是三个命令的组合,find命令根据文件类型、文件名、文件大小、权限、文件韶光等等条件查找文件,xargs用于参数通报,即把find实行结果交给下一个工具。grep用于查找、匹配、过滤文本文件或输出结果。这3个工具结合起来就可以高效地匹配到要查找的内容。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/1133.html
点击理解更多,快速查看更多的技能文章列表。