Linux学习之正规表示法

本文介绍了Linux正规表示法,包括grep、sed和awk的使用。通过实例演示了grep的搜索技巧,如行首、行尾匹配,以及特殊字符的处理。接着讲解了sed的行处理功能,如新增、删除和替换。最后,介绍了awk用于处理一行中的数据,强调了其字段分隔和内建变量的使用。
摘要由CSDN通过智能技术生成

前天晚上看了一点书,昨天看完了,下午练习命令,终于见到传说中的Linux三剑客了grep,sed,awk

grep是对行的处理命令,在鸟哥书中提供了文件来练习,废话不多说,直接上练习题
-n选项,输出的同时输出行号
-v选项,反向选择,就是除选项后面的字符外输出

  1. 搜索特定字符串the,由于grep是对行的处理,所以在搜索出来的结果是一行行显示的:
grep 'the' 文件名
  1. 利用中括号来搜索集合字符
    在搜索集合字符时一定要加上中括号,要不然就是搜索特定的字符串例如查找含有0到9数字的行,如果使用’0-9’就会出错,因为这是一个字符串0-9.

(1). 如果我想要搜索test或者taste这两个单词时候,发现他们有共同的‘t?st’构成,
可以这样来搜索

grep 't[as]t' 文件名,或者grep 't.st' 文件名

后者的点表示t和st之间一定有一个字符存在,当然也有一个问题,就是可能存在tab

(2)想要搜索含有’oo’字样的字符串,但是前面不想要g这个字符

grep '[^g]oo' 文件名,其中[^]是集合字符里面的反选字符

但是这样输出也会有问题,例如会出现含有goooole字符串的行或者出现同时含有goole和too字符串的行

(3)假设在oo前面不想要小写字符

一种是:grep '[^a-z]oo' 文件名;另一种是:grep '[^[:lower:]]oo' 文件名

一些特殊符号需要记住
[:alnum:]:代表英文大小写字符及数字
[:alpha:]:代表任何英文大小写字符
[:upper:]:代表英文大写字符
[:lower:]:代表英文小写字符
[:digit:]:代表数字

3.行首和行尾字符^ $
(1)如果想让the只在行首列出

grep '^the' 文件名,如果忽略大小写的话,前面可以加上-i选项

在这里要注意^的位置关系,
在中括号内的^表示反向选择,即不是
在中括号外的^表示开头是以,,,(^后面所接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值