Linux查找含有某字符串的所有文件

  1. 1 背景
  2. 2 具体实现

1 背景

在当前目录下查找hello,world!字符串

2 具体实现

参数 说明
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
grep pattern1 files grep pattern2

这里还有些用于搜索的特殊符号:

< 和 > 分别标注单词的开始与结尾。

例如:

参数 说明
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等
^ 指匹配的字符串在行首
$ 指匹配的字符串在行尾
find -type f -name ‘*.php’ xargs grep ‘GroupRecord’

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以邮件至 xingshuaikun@163.com。

×

喜欢就点赞,疼爱就打赏