您的位置:首页 > 其它

grep命令

2016-03-31 14:15 267 查看
grep [Options] pattern File

pattern 加单引号,不会替换变量,所见即输出

pattern 加双引号,会替换变量

如果所说有字符串中有空格,需要单引号或双引号

-E, --extended-regexp PATTERN是扩展表达式

-F, --fixed-strings PATTERN是一行行固定串

-G, --basic-regexp PATTERN是基本正则表达式

-P, --perl-regexp PATTERN是Perl表达式

-e, --regexp=PATTERN 使用PATTERN来匹配

-f, --file=FILE 从文件获得PATTERN

-i, --ignore-case 忽略大小写

-w, --word-regexp 强制PATTERN匹配整个单词

-x, --line-regexp 强制PATTERN匹配所有行

-z, --null-data 空数据,非换行

-s, --no-messages 压缩错误信息

-v, --invert-match 反向匹配(不符合的)

-V, --version 版本

grep正则表达式元字符集:

^ 锚定行的开始 如:'^abc'匹配所有以abc开头的行

$ 锚定行的结束 如:'abc$'匹配所有以abc结尾的行

. 匹配一个非换行符的字符 如:'ab.c'匹配ab后接一个任意字符,然后是c

* 匹配零个或多个先前字符 .*一起用代表任意字符

[] 匹配指定范围内的字符,如'[Aa]bc'匹配Abc和abc

[^] 匹配一个不在指定范围内的字符,如:'[^A-H]bc'匹配不包含A-H一个字母开头,后面跟bc的行

\(..\) 标记匹配字符,如'\(love\)'

\ 锚定单词的开始,如:'\abc匹配包含以abc开头的单词的行

\> 锚定单词的结束,如'abc\>'匹配包含以abc结尾的单词的行

x\{m\} 重复字符x,m次,如:'0\{5\}'匹配包含5个o的行

例子:

搜索多个字符串

grep -E "aaa|bbb|ccc" ./*

不区分大小写

grep [Aa]bc ./*

grep -i abc ./*

当前目录下查找含abc(不区分大小写)字符串

grep -ir abc ./*

统计含abc字符串的行数

grep -c abc abc.txt

搜素带引号的字符串"string"

grep -r "\"string\"" ./*

搜素既带abc字符串又带defgh字符串的行

grep -r abc ./* | grep defgh >./a.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: