Linux上批量查找文件里面带的关键字(grep 关键字的用法)

grep

功能说明:查找文件里符合条件的字符串(同时能匹配正则表达式)

语法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

grep -参数 文件名/文件目录

参数

-a或--text  不要忽略二进制的数据。

-A<显示行数>  除了显示符合范本样式的那一行数据之外,还显示该行之后的内容,行数多少就多显示多少行

-b或--byte-offset  在显示符合样式的那一列之前,标出该列第一个字符的位编号

-B<行数> 除了显示符合范本样式的那一行数据之外,还显示该行之前的内容,行数多少就多显示多少行(与-A相反)

-c  列出符合条件的数量

-C<显示列数>或--context=<显示列数>或-<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之前后的内容。

-d<进行动作>或--directories=<进行动作>   如何处理目录;是“读”,“递归”,或“跳过”`read', `recurse', or `skip'
  -e<范本样式>或--regexp=<范本样式>   指定字符串做为查找文件内容的范本样式。

但是感觉-e没什么用啊,不加-e也能用正则匹配出来
  -E或--extended-regexp   将范本样式为延伸的普通表示法来使用。
  -f<范本文件>或--file=<范本文件>   指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
  -F或--fixed-regexp   将范本样式视为固定字符串的列表。
  -G或--basic-regexp   将范本样式视为普通的表示法来使用。
  -h或--no-filename   在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
  -H或--with-filename   在显示符合范本样式的那一列之前,表示该列所属的文件名称。
  -i或--ignore-case   查找时忽略单引号内字符大小写的差别。
  -l或--file-with-matches   列出文件内容符合指定的范本样式的文件名称。
  -L或--files-without-match   列出文件内容不符合指定的范本样式的文件名称。
  -n或--line-number   在显示符合范本样式的那一列之前,标示出该列的列数编号。
  -q或--quiet或--silent   不显示任何信息。
  -r或--recursive   此参数的效果和指定“-d recurse”参数相同。
  -s或--no-messages   不显示错误信息。
  -v或--revert-match   反转查找。
  -V或--version   显示版本信息。
  -w或--word-regexp   只显示全字符合的列。
  -x或--line-regexp   只显示全列符合的列。
  -y   此参数的效果和指定“-i”参数相同。

查看一个目录下所有文件里面带关键字的grep方法

cat 文件名 |grep '正则匹配'

Linux上批量查找文件里面带的关键字(grep 关键字的用法)_第1张图片

缺点很明显,yyf目录下有很多小文件,查找出的结果不能显示文件名。

使用find命令:

 -type 表示类型 f 表示普通文件 xargs 表示递归查找子目录 目标字符可带**等符号 可不带引号。

你可能感兴趣的:(Linux)