正则表达式

一.grep [-acniv] '字符串' filename  功能:搜索显示

-a 文本方式搜索

-c 找到的次数

-n 显示行号             例: grep -n '    the'     filename

-i 忽略大小写           例: grep -in     'the'     filename

-v 反选                    例: grep -vn     'the'     filename

二. grep和正则表达式配合使用

一).[]集合, [^]反选

例:grep -n     't[ae]st'         filename    搜索tast 和 test

例:grep -n      'oo'              filename   搜索.*oo.*

例:grep -n     '[^g]oo'        filename   搜索xoo.*且x不是字母g

例:grep -n     '[^a-z]oo'     filename    搜索xoo.*且x不是小写字母

例:grep -n     '[0-9]'           filename    搜索有数字的行

补充:[^]反选 和 -v 反选的区别

1. [^]是正则表达式的符号,-v是grep命令和egrep命令的属性

2. [^abc] 字符a和字符b和字符反选,grep -v ‘abc’ 字符串'abc'反选

二). 行首^行尾$

例:grep -n   '^the'               filename    搜索行首是the的行

例:grep -n   '^[a-z]'              filename    搜索小写字母开头的行

例:grep -n   '^[^a-zA-Z]'     filename    搜索不是英文字母开头的行      grep -nv   '^[a-zA-Z]'   filename

例:grep -n   '\.$'                   filename    搜索小数点结尾的行

例:grep -n   '^$'                   filename    搜索空行

例:grep -n   '#'                     filename    搜索有注释符号的行

例:grep -n   '^#'                   filename    搜索    注释行

例:grep -nv   '^#'  filename | grep -nv '^$'    搜索空行和注释行以外的所有行  开通两个管道

     或者 egrep -nv '^$'|'^#'  开通一个管道

三).绝对有一个字符.   *表示前面的一个字符个数>=0   +表示前面的一个字符个数>=1 ?表示前面的一个字符个数<=1

例:grep -n   'g..d'                  filename    搜索g和d之间有两个字符的字符串 good,  glad,  g sd g  d

例:grep -n   'ooo*'                filename    搜索oo ooo oooo ooooo ....

例:grep -n   'goo*d'              filename    搜索god good gooog ...                        egrep -n   'go+d'  filename

例:grep -n   'g*g'                  filename    搜索g gg ggg gggg ...                            egrep -n   'g+'

例:grep -n   'g.*g'                 filename    搜索g开头g结尾中间不限字符种类和个数

例:grep -n   '[0-9][0-9]*'       filename    搜索任意数字的行                                   egrep -n   '[0-9]+'       filename

四).{n}   {n,}  {n,m}   '{'和'}'需要转义字符\

例:grep -n   o'\{2\}'       filename    搜索oo

例:grep -n   'g\{2,5\}g'       filename    搜索g开头g结尾,中间有2到5个o

例:grep -n   'g\[2,\]g'       filename    搜索g开头g结尾,中间o的个数>=2

三. grep及正则表达式与其他命令配合使用

ls -l * 列出所有文件  *是通配符

ls -l a* 列出所有文件名以a开头的文件  *是通配符

ls | grep -n '^a.*'  列出所有文件名以a开头的文件, ls不支持正则表达式,需要搭配grep才能使用正则表达式 *是正则表达式的字符

四.sed [-nefr] [acdips]  读取标准输入,操作之后给标准输出

a 在后面添加

c 替换

d 删除

i 在前面插入

s

五.awk

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值