sed与正则用法收集

Posted 叶常绿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed与正则用法收集相关的知识,希望对你有一定的参考价值。

1.将文本每行最后七个字符换成!号

sed   -n  \'s#.\\{7\\}$#!#p\' ooo

 

在文本的每一行前添加#符号

sed  \'s/^.\\?/#&/\' passwd

&  替代符 替代前面所匹配的

?  数量符  需要转义 表示1个或0个

/  分隔符 此处三个都是 可以用别的符号代替

 

2.将某个目录下所有文件文本中的kkkkk 换成 ddddd

sed -i \'s/kkkkk/ddddd/g\' `grep -rl  mydir`

grep 中  -r递归  -l输出文件名

 

 3.截取文本中的某一段(IP地址)并存放与文件中

(1)cat eth0 | sed \'s/.*t addr://\' | sed \'s/ Bc.*//\' |xargs echo > ech0

(2)sed  -i  -e  \'s/.*t addr://\'   -e  sed \'s/B.*//\'  eth0

 

 

.*  表示任意字母任意数量

-e  表示多点编辑

-i   表示修改文件

 

4.删除第6行到最后一行

sed   \'6,$d\'  file

 

5.删除第1行 和 第3行

sed   -e  \'1d\'  -e \'3d\'  file

 

6.再第3行上面插入两行

sed \'3a hello world \\

>the text\' file             (>不是我打上去的是自动显示的)

 

7.替换行

sed \'3c33333333\'  file

替换第三行

 

8.对字符操作

8-1删除某个字符

sed  \'/root/d\'  file

把file中的root删除

 

8-2显示包含摸个字符的行

sed -n \'/root/n\'  file

把file中包含root的行显示出来

 

8-3检索行并于此执行命令 命令间分好隔开

sed -n  \'/root/{s/bash/bullet;p;q}\'  file

file中含root的行上 把bash改成bullet并打印出来 最后退出

s替换 p打印 q退出

 

 

未完待续。。。

 

以上是关于sed与正则用法收集的主要内容,如果未能解决你的问题,请参考以下文章

正则sed/awk的用法

sed的分组用法

Jacob用法收集

linux学习:sed与awk与tr用法整理

linux三剑客---grep,sed,awk与正则表达式

linux12shell编程 --> 三剑客之sed命令