搜索所有文件中的关键字:

cd /root
grep -r "ArtiIntel"
#-r:对当前目录和所有的子目录进行搜索

搜索关键字所在的文件:

方法一:grep -r "ArtiIntel" /

方法二:find / –type f |xargs grep "ArtiIntel*"

grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为"-",则grep指令会从标准输入设备读取数据。

语法:grep [-cinvABC]‘Word’filename

-c:打印符合要求的行数
-i:忽略大小写
-n:在输出符合要求的同时连同行号一起输出
-v:打印不符合要求的行
-A:后跟一个数字(有无空格都可以),例如-A2则表示打印符合要求的行以及下面两行
-B:后跟一个数字,例如-B2则表示打印符合要求的行以及上面两行
-C:后跟一个数字,例如-C2则表示打印符合要求的行以及上下各两行
-r:会把目录下面所有的文件全部遍历

grep工具实例

过滤出带有某个关键词的行号        grep -n 'root' 1.txt
过滤出不带有某个关键词的行并输出行号    grep -n -v 'root' 1.txt
过滤出所有包含数字的行            grep '[0-9]' 1.txt
过滤出所有不包含数子的行            grep -v '[0-9]' 1.txt
去除所有以 '#' 开头的行            grep -v '^#' 1.txt
去除所有空行和以 '#' 开头的行        grep -v '^$' 1.txt |grep -v '^#'
过滤出以英文字母开头的行            grep '^[a-zA-Z]' 1.txt
过滤出以非数字开头的行            grep '^[^0-9]' 1.txt
过滤出任意一个或多个字符        grep 'r.o' 1.txt; grep 'r*r' 1.txt; grep 'r.*t' 1.txt
. 匹配任意一个字符;
* 匹配零个或多个前面的字符;
.* 匹配零个或多个任意字符,空行也包含在内
指定过滤字符次数            grep 'o\{2\}' 1.txt

egrep工具

egrep工具是grep工具的扩展
egrep 'o+' 1.txt        表示匹配1个或1个以上前面字符
egrep 'o?' 1.txt        表示匹配0个或者1个前面字符
egrep 'roo|body' 1.txt        匹配roo或者匹配body
egrep 'r(oo)|(at)o' 1.txt    用括号表示一个整体
eprep '(oo)+' 1.txt        表示匹配1个或者多个'oo'

grep -E 'root|body' 1.txt=egrep 'root|body' 1.txt

Logo

更多推荐