码迷,mamicode.com
首页 > 系统相关 > 详细

2018-1-16 Linux学习笔记[重要]

时间:2018-01-17 01:04:58      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:9.4   编辑   编辑器   注意   ebe   str   img   linux   sed命令   

9.4 sed(上)

sed是一种流编辑器,它是文本处理中非常有用的工具,grep只能实现查找功能,sed不仅能查找还能替换.
sed处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。

注意: sed处理时, 文件内容并没有改变,除非你使用重定向存储输出。

sed -n ‘5‘p test.txt --->打印第5行
sed -n ‘1,5‘p test.txt --->打印第1-5行
sed -n ‘1,$‘p test.txt --->打印所有行
sed -n ‘/root/‘p test.txt --->打印含有root的行
sed -n ‘/^1/‘p test.txt --->打印所有以1开头的行
sed -n ‘/in$/‘p test.txt --->打印所有以in结尾的行
sed -e ‘1‘p -e ‘/222/‘p -n test.txt --->打印第1行和包含222的行
sed -n ‘/o\+t/‘p test.txt --->打印含有o..t的行
sed -nr ‘/o+t/‘p test.txt --->打印含有o..t的行,其中r选项类似与grep的-E选项,加上能免脱意字符
sed -nr ‘/root|sshd/‘p test.txt --->打印含有root或者sshd的行

9.5 sed(下)

sed -n ‘/bus/‘Ip test.txt --->打印含有bus(大小写均匹配)的行,其中I选项表示不区分大小写
sed ‘1‘d test.txt --->删除第1行(文件本身并没改变)
sed ‘/root/‘d test.txt --->删除包含root的行(文件本身并没改变)
sed ‘1,3‘d test.txt --->删除第1-3行(文件本身并没改变)
sed -i ‘1,3‘d test.txt --->删除文件的第1-3行(加上i选项后,文件会发生改变)
sed ‘s/[0-9]//g‘ test.txt --->删除文档中的所有数字
sed ‘s/[a-zA-Z]//g‘ test.txt --->删除文档中的所有字母
sed ‘1,10s/ot/to/g‘ test.txt --->将第1-10行中的ot替换成to
sed -r ‘s/([^:]+):(.*):([^:]+)/\3:\2:\1/‘ test.txt --->将以:分割的所有行每行的行首和行尾调换
sed -r ‘s/(.*)/aaa:&/‘ test.txt --->在所有行前加上字符串aaa:
技术分享图片

2018-1-16 Linux学习笔记[重要]

标签:9.4   编辑   编辑器   注意   ebe   str   img   linux   sed命令   

原文地址:http://blog.51cto.com/13517946/2061702

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!