Linux总结三

1.正则表达式^
只要是"^"这个字符是直接在中括号[]中被使用的话(不包括嵌套使用)就表示字符类的否定;如果不是表示限定开头.
[] 代表的是一个字符集, "^"只有在字符集中才是反向字符集的意思.

$ 在正则表达式中表示匹配行尾 ^$ 匹配空行

–[…]-- 在正则表达式中表示匹配括号中的一个字符 “[xyz]” 匹配字符x,y或z ; “[c-n]” 匹配 c到n之间的任意一个字符

转义符 不想让特殊字符立即生效,就需要使用转义符.

2.转义(escape)“尖角号” --<…>-- 用于表示单词的边界,尖角号必须被转义,如果不这样做它们表示单纯的字面意思.
示例:
“<the>” 匹配单词"the",但不匹配"them",“there”,“other” 等
3.
– + --匹配一个或多个前面的字符.它的作用和*很相似,但唯一的区别是它不匹配零个字符的情况.
转义"大括号" --{}-- 指示前面正则表达式匹配的次数. 示例:"[0-9]{5}" 精确匹配5个数字 (从 0 到 9的数字).

4.流编辑器 (sed)
Sed “1p” a.py 首行打印了2次
在这里插入图片描述
打印第2行到第4行
说明:第2行内容打印 第4行内容打印 空行也占一行
在这里插入图片描述
打印a.py文件中,含有字母"c"的行
在这里插入图片描述
打印a.py文件中,以c开头的行
在这里插入图片描述
打印a.py 文件中,含有三个以上连续相同字母的行
在这里插入图片描述
注意:( )中的匹配内容将被放置在临时寄存器中,之后对该寄存器的引用为\1,如果有第二对( ),引用为\2。这个在替换中经常用到,打印命令一般用不到。

这里,/ /中的含义为:匹配任意一个小写字母,并将这个匹配内容放置在寄存器中,然后紧接着匹配和这个字母一样的一个字母、再次匹配一下这个字母,第四次匹配这个字母的时候,用了“*”,代表有0次或者多次。这样就完成了题干中含有三个以上连续相同字母的匹配。

打印匹配aaaaah和ccccc 之间的行
在这里插入图片描述
匹配具有贪婪性,从a开始一直往下找,一直到之后才截止
在这里插入图片描述
5.删除命令d
sed 的删除操作并不直接作用于文件本身,而仅仅是在打印的时候不打印匹配的行,有些类似于 grep -v.
如果需要删除操作作用于文件,在有文件写权限的前提下,可以使用sed -i参数来使删除操作作用于文件.注意:不是所有的unix自带的sed工具都有这个功能.
删除指定第几行
如;删除 第 24 行,用sed 命令仅仅是在打印的时候对第XX行做了影藏,但实际上并没有做删除.
在这里插入图片描述
删除前可以用wc 命令来看这个文件总共有多少行.

   wc -l filename 就是查看文件里有多少行

   wc -w filename 看文件里有多少个word。

   wc -L filename 文件里最长的那一行是多少个字。

6.删除匹配行 删除以 “this” 单词开头的行
在这里插入图片描述
第一种写法,回顾正则中,< >表示单词,这个符号将严格的定位一个单词,即this这四个字母紧挨在一起,前后都有一个以上空格或者制表符;或者这个单词在一行的开头处,后面跟一个以上空格;或者这个单词在结尾处,前面有一个以上的空格。

删除连续的a和连续的d的行以及两者之间的行
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值