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

linux学习之路之sed命令使用

时间:2014-06-16 15:53:56      阅读:542      评论:0      收藏:0      [点我收藏+]

标签:主要介绍sed命令的使用

本章主要介绍sed的命令使用

sed(Stream Editor)是一种流编辑器,或者叫做行编辑器,以行为单位进行编辑处理,而后续会介绍的vi编辑器是一种全屏编辑器。

sed的工作原理:

    逐行读取文件中的每一行,并将其放在内存空间中,在对内存空间中的数据进行处理,将处理后的结果打印到屏幕上。而这种内存空间也叫做模式空间。

所谓模式空间:就是将放在内存空间的数据根据模式来匹配,匹配成功的数据进行相应的编辑处理,将处理后的数据打印到屏幕上去

说明:sed命令默认将文件中所有的行打印到屏幕上去。

sed命令默认不会修改源文件内容,只是产生显示的效果。


sed命令的使用用法:

sed [option] ‘AddressCommand‘ [FILE...]

option:

    -n:静默模式,sed命令默认会将文件中所有的行打印出来,加上-n表示只有符合模式匹配的行才

    打印到屏幕上显示出来

-i:直接修改原文件

-e SCRIPT1 -e SCRIPT2..:可以同时执行多个脚本(这里的脚本指的是‘AddressCommand‘)

bubuko.com,布布扣

-f /path/to/sed_script:这是个脚本文件是存放sed的脚本命令的,每一行都是一个脚本,这个命令的作

   用就是将脚本文件中的每一条命令加载到命令行来执行,进而对指定文件中符合模式的行编辑处理。

    使用方法形如:sed -f /path/to/sed_script FILE

bubuko.com,布布扣

-r:表示支持正则表达式


Address:原来寻找文件中符合条件的行

地址的定界有一下5种

1、指定StartLine,EndLine

例如:第1到第100行   这样表示:1,100


2、/ReGExp/ :使用模式中的正则表达式来定位

例如:找到以root字符串开始的行,可以这样表示:/^root/


3、/pattern1/,/pattern2/

匹配的是:从pattern1第一次匹配的行开始,到pattern2第一次匹配的行结束,这中间所有的行


4、LineNumber:指定的第几行


5、StartLine,+n:匹配从第StartLine行起,向后的N行,共匹配N+1行

bubuko.com,布布扣


Command:

    d:删除指定的行

    p:显示符合条件的行

    a \string:指定行的后面追加新行,新行的内容为‘string‘

    i \string:指定行的前面追加新行,新行的内容为‘string‘

    bubuko.com,布布扣

    r:将指定的文件添加到符合条件的行

bubuko.com,布布扣

    w:将指定范围内的内容另存至指定的文件中

    s/pattern/string/修饰符:字符串的替换;注意:string是不可以使用元字符的,因为他不是模式

    默认不加修饰符表示只替换每一行中第一次匹配到的字符串

        g:表示全局替换

    说明:替换符不仅仅只限于/来表示,#,@等都可以原来表示替换符

bubuko.com,布布扣

        &:只能引用模式匹配的整个字符串

        后向引用:可以引用自己想要引用的字符串,可以是全部,也可以是部分


  













linux学习之路之sed命令使用,布布扣,bubuko.com

linux学习之路之sed命令使用

标签:主要介绍sed命令的使用

原文地址:http://xslwahaha.blog.51cto.com/4738972/1426707

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