全局搜索使用grep
Linux grep命令用于查找文件里符合条件的字符串。grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为"-",则grep指令会从标准输入设备读取数据。语法:grep [-cinvABC]‘Word’filename-c:打印符合要求的行数-i...
搜索所有文件中的关键字:
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
更多推荐
所有评论(0)