回到顶部


linux grep命令

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配行打印出来
grep 全称 Grobal Regular Expression Print 表示全局正则表达式版本,它的使用权限是所有用户。

grep命令格式

grep [options]
主要的参数
-c 只输出匹配行的计数
-i 不区分大小写
-h 查询多文件时不显示文件名
-l 查询多文件只输出包含匹配字符的文件名
-n 显示匹配行以及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行
-E 使用扩展正则表达式
常用grep实例
多个文件查询
	grep "sort" *.doc
行匹配:输出匹配行的计数
	grep -c "48" data.doc 输出文档中含有48字符的行数​
显示匹配行和行数
	grep -n "48" data.doc 显示所有匹配48的行和行号​
显示非匹配的行
	grep -vn "48" data.doc 输出所有不包含48的行​
大小写敏感
	grep -i "ab" data.doc 输出所有含有ab或Ab的字符串的行

使用正则过滤

ssgao:~ aouo$ set | grep -e .*ython
PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin
*   前一个字符匹配0次或任意多次
.   匹配除了换行符以外任意一个字符。
^   匹配行首,例如^hello会匹配以hello开头的行
$   匹配行尾,例如hello$会匹配以hello结尾的行
[]  匹配括号中的任意一个字符,只匹配一个字符
[0-9]匹配任意一位数字,[a-z][0-9]匹配小写字母和一位数字构成的两位字符
[^] 匹配括号以外的任意字符,[^0-9]匹配任意一位非数字字符
\   转义符,用于取消将特殊符号的含义取消
\{n\}   表示前面的字符恰好出现n次
[0-9]\{4\}匹配4位数字
\{n,\}  表示前面的字符出现不小于n次,[0-9]\{2,\}表示两位及以上的数字
\{n,m\} 表示其前面的字符至少出现n次,最多出现m次,[a-z]\{6,8\}匹配6到8位小写字母

posted on 2018-04-19 13:05  ssgao  阅读(214)  评论(0编辑  收藏  举报