三剑客之grep

试题要求:按照题目要求写出你的正则表达式,并把输出结果贴出来。

file.txt文件内容:
48      Dec     3BC1977 LPSX   68.00   LVX2A   138
483     Sept    5AP1996 USP    65.00   LVX2C   189
47      Oct     3ZL1998 LPSX   43.00   KVM9D   512
219     dec     2CC1999 CAD    23.00   PLV2C   68
484     nov     7PL1996 CAD    49.00   PLV2C   234
483     may     5PA1998 USP    37.00   KVM9D   644
216     sept    3ZL1998 USP    86.00   KVM9E   234
练习:
1   含有“48”字符串的行的总数

[root@gaozhu tmp]# grep -c '48' file.txt


2   显示含有“48”字符串的所有行的行号

[root@gaozhu tmp]# grep -n '48' file.txt


3   精确匹配只含有“48”字符串的行
PS:使用grep抽取精确匹配的一种更有效方式是在抽取字符串后加\ >

[root@gaozhu tmp]# grep '\<48\>' file.txt

4  抽取代码为4 8 4和4 8 3的城市位置

[root@gaozhu tmp]# egrep '^(483|484)' file.txt
[root@gaozhu tmp]# grep '48[34]' file.txt


5   显示使行首不是4或8
PS:可以在方括号中使用^记号,表示行首不是某字符

[root@gaozhu tmp]# grep -v '^[48]' file.txt


6   显示含有九月份的行
PS :使用-i开关可以屏蔽月份Sept的大小写敏感

[root@gaozhu tmp]# grep -i 'sept' file.txt


7   显示以K开头,以D结尾的所有代码
PS:点.代表任意一个字符,由于代码是五位字符的字符串,所以中间用三个点表示任意字符

[root@gaozhu tmp]# grep 'K.*D' file.txt


8   显示头两个是大写字母,中间两个任意,并以C结尾的代码
PS:[A-Z]表示任意一个大写字母

[root@gaozhu tmp]# grep '[A-Z]\{2\}..C' file.txt


9   查询所有以5开始以1996或1998结尾的所有记录

[root@gaozhu tmp]# egrep '5..(1996|1998)' file.txt
[root@gaozhu tmp]# grep '5..199[68]' file.txt


10  取出所有三位数字的记录

[root@gaozhu tmp]# grep '\<[0-9]\{3\}\>' file.txt


11  取出所有字母与数字组合的记录

[root@gaozhu tmp]# grep '[0-9][A-Z]\{2\}[0-9]\{4\}\|[A-Z]\{3\}[0-9][A-Z]' file.txt
[root@gaozhu tmp]# grep   "\<[[:alnum:]]\{5,7\}\>" file.txt


12  取出所有非数字的记录

[root@gaozhu tmp]# grep [^0-9] file.txt


13  取出所有非字母的记录

[root@gaozhu tmp]# grep '[^[:alpha:]]' file.txt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值