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 '正则匹配'
缺点很明显,yyf目录下有很多小文件,查找出的结果不能显示文件名。
使用find命令:
-type 表示类型 f 表示普通文件 xargs 表示递归查找子目录 目标字符可带**等符号 可不带引号。