每天学点Linux之grep命令的使用
2017-06-05 23:33
405 查看
grep命令的使用
前言
grep命令是Linux中非常重要的一个命令,主要用于文本查找,也就是在一个文本中提取出我们所需要的信息,grep可以使用正则表达式来辅助匹配,极大地提高了匹配的效率。基本的正则表达式
元字符
所谓的元字符,就是正则表达式中用与代表其他字符的字符,比较常使用到的内容如下所示:[a-z]、[0-9]、[A-Z]、[a-zA-Z] [:space:]:空白字符集、[[:space:]]:空白字符集中的一个 [:punct:]:标点 [:lower:]:小写字母 [:upper:]:大写字母 [:alpha:]:大小写字母 [:digit:]:数字 [:alnum:]:数字和大小写字母 .:任意字符 [ABC]:代表中括号中的任意一个字符(这里是ABC中任意一个)
匹配次数
*:匹配前面字符任意次 .*:则可以代表任意字符任意次 ?:匹配前面字符1次或0次 +:匹配前面字符至少一次 {m,n}:匹配前面字符至少m次,至多n次 {1,}:匹配前面字符至少一次 {1,3}:匹配前面字符1-3次 这里使用的时候需要注意,逗号前后不能加空格
位置锚定
^:锚定行首 $:锚定行尾 \bWORD 或者 \<WORD:锚定词首 WORD\b 或者 WORD\>:锚定词尾
特殊字符
():小括号用于分组,主要用于实现后向引用 \1、\2、\3 ...:后向引用 | :或者,用于实现多选一,类似于[]的作用 C|cat:匹配的是C或者cat (c|C)at:匹配的是cat或者cat
grep命令的使用
grep的语法
grep命令的用法如下所示 # grep [OPTION] PATTERN FILE 选项的内容可以有: -i:忽略大小写 --color:高亮显示匹配到的文本 -v:反向查找,显示没有被匹配到的文本 -o:只显示匹配到的文本 -E:使用扩展的正则表达式,一般均使用扩展的正则表达式 -A n:显示匹配到的行以及前n行 -B n:显示匹配到的行以及后n行 -C n:显示匹配到的行以及前后各n行 PATTERN则为需要匹配的正则表达式 FILE为所需要匹配的文本
典型查找例子
为了更好地演示效果,这里新建一个文件 testGrep,内容如下所示a ab aab hello world cccccccccccccccc 123aaaa1223 aaa22233aaaa bbb 222 sss -- -- aa*888dad--6$#
简单匹配以及匹配的结果如下所示
1、匹配含有a # grep a grepText 匹配结果: a ab aab 123aaaa1223 aaa22233aaaa aaa 222 sss -- -- aa*888dad--6$# 2、匹配至少含有两个a # grep -E a\{2,\} grepText ! 这里使用反斜线主要是花括号在shell中有特殊含义,所以这里需要对其进行转义 匹配结果: aab 123aaaa1223 aaa22233aaaa aaa 222 sss -- -- aa*888dad--6$# 3、匹配含有空格的内容 # grep -E .*[[:space:]].* grepText 匹配结果: aaa 222 sss -- -- 4、匹配以a开头并且以a结尾的行 # grep -E ^a.*a$ grepText 匹配结果: aaa22233aaaa
总结
本小节主要学习了grep命令的使用,包含了常见的正则表达式的元字符等,需要注意的是,grep命令有两个兄弟命令,分别是egrep,fgrep,其中egrep等价于grep -E,fgrep则是不使用正则表达式来提高效率,Linux的学习之路还在继续相关文章推荐
- 关于Linux Grep命令使用的详细介绍
- 关于Linux Grep命令使用的详细介绍
- 在Linux下正则表达式和grep命令的使用
- Linux下grep命令的使用!
- Linux Grep命令使用
- linux grep命令使用的详解
- 关于Linux Grep命令使用的详细介绍
- Linux下使用Grep命令回复误删文件
- 关于Linux Grep命令使用的详细介绍
- Linux grep 命令使用
- 关于Linux Grep命令使用的详细介绍
- Linux Grep命令的详细使用方法
- Linux下正则表达式和grep命令的使用
- linux grep搜索命令的使用方法
- linux grep命令的使用
- Linux Grep命令使用的详细介绍
- 关于Linux Grep命令使用的详细介绍
- Linux内、外部命令的使用、文件权限、文件查找(find、locate、grep)
- linux grep命令的使用
- 关于Linux Grep命令使用的详细介绍