首页 > 代码库 > Linux常用命令之sed

Linux常用命令之sed

标题:sed命令的使用

作用:sed是以行为单位处理文本数据,可以对数据按行进行选取(显示)、替换、删除和新增等功能。

一、用法

       sed [-nefr] [动作]

       参数:

     -n:使用安静模式,取消自动打印模式空间。在一般来自STDIN的数据一般都会被列出到屏幕上,但如果加上-n参数后,则只有经过sed处理的那一行才会被列出来。

         -e:直接在命令行模式上进行sed的动作编辑。

         -f:直接将sed动作写到一个文件内,-f filename可以执行filename内的sed动作

             -i:直接修改读的文件内容,而不是由屏幕输出

        动作说明:

    1. [n1[n2]] function

       n1,n2一般代表选择进行动作的行数,10,20代表动作在10,20行间执行

         2. function有下面这参数:

     [1] a : 新增

     [2] c : 替换,c后面可以接字符串,这些字符串可以替换n1,n2之间的行

     [3] d: 删除

     [4] i: 插入,i之后可接字符串,这些字符串会在新的一行出现

     [5] p: 打印,通常会和-n一起运行

     [6] s: 替换

二、实例

       例1:以行为单位的删除操作:

       命令:nl test.da | sed ‘2,5d‘

     输出:技术分享

        例2:在第2行后面添加 "Drink tea\n Drink beer"

     命令: sed ‘2,a Drink tea \n Drink beer‘ test.da

             输出:技术分享

         例3:将第2~5行的内容替换成为"No,2-5 Number"

      命令:sed ‘2,5c No,2-5 Number‘ test.da

              输出:技术分享

    例4:打印2~5行的内容

    命令:sed -n ‘2,5p‘ test.da 

            输出:技术分享

Linux常用命令之sed