linux取批量文件的关键字,Linux上批量查找文件里面带的关键字(grep 关键字的用法)-Go语言中文社区...

grep

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

语法:grep [-abcEFGhHilLnqrsvVwxy][-A][-B][-C][-d][-e][-f][--help][范本样式][文件或目录...]

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

参数

ed4f25a3e0f9521ef76c735c4d31c70f.png

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

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

c4053ecfa7e6d7e5fce1f323d59da30a.png

df09fbf6137a0dce1f3fba42727bddd0.png

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

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

-c  列出符合条件的数量

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

-d或--directories=   如何处理目录;是“读”,“递归”,或“跳过”`read', `recurse', or `skip'

-e或--regexp=   指定字符串做为查找文件内容的范本样式。

b7a7676345e81d443aed547adcf03bb1.png但是感觉-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 '正则匹配'

28015c4471cec572bfeb8c3f95c5e483.png

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

使用find命令:

87dcf54358d2292a35a75d34a012c5ce.png

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