Linux命令-- sed

不积跬步无以至千里

1、说明

    sed命令用于匹配和处理文件行内容

    选项:

        -i :对文件内容进行修改,sed默认输出结果不会改变文件内容

        -n :只显示处理过的行,sed默认输出结果显示所有文本内容

        (-f 后跟sed指令文件, -e 指定参数为sed指令,多点编辑时可以用到)

2、示例

    示例-1:追加、插入

    参数:

        a :在指定行(后)添加内容「行级别」

        i :在指定行(前)插入内容「行级别」

    追加)

    e.g.: 向指定行后第3行后追加 hello.shanghai

    

    e.g.: 向匹配内容123后追加 hello,shanghai

     

    e.g.: 向最后一行追加 hello,shanghai

    

    e.g.: 向最后一行追加两行(多行)

    

    

    插入)

    e.g.: 向指定行第三行之前插入 hello,shanghai

    

    e.g.: 向匹配内容123之前插入 hello,shanghai

    

    e.g.: 向最后一行之前插入 hello,shanghai

    

    e.g.: 向最后一行追加两行(多行)

    

 

    示例-2:替换、修改

    参数:

        c :替换指定行的内容「行级别」

        s :修改一指定行的内容「行内容级别」

    替换)

    e.g.: 将文件第三行替换为 hello,hangzhou

    

    e.g.: 将匹配到内容123的行替换为 hello,hangzhou

    

    e.g.: 将最后一行替换为 hello,hangzhou

        

 

    e.g.: 将1至3行替换为 hello,hongkong

    

    e.g.: 将奇数行替换为 hello,hongkong

    

    

    修改)

    基本公式:sed ’s/被取代字符串/新字符串/‘ 文件名

    e.g.: 将行中内容123修改为 hello,hongkong,默认只修改行中第一次出现的匹配内容

    

    e.g.: 将行中所有内容123修改为 hello,hongkong

    

    e.g.: 将行中第2次出现的内容123修改为 hello,hongkong

    

    e.g.: 将每行出现的内容123修改为 hello,hongkong,并将修改后的行保存到4.txt中。-n只显示处理的行

    

    e.g.: 匹配行并操作,符号{.*}代表整行内容

    

    e.g.: 匹配行开头。替换以#开头的行为——,「^#.*」代表#开头以后所有内容

    

    

    e.g.: 匹配行结尾。替换每行行尾一个字符为A,一个「.」代表一个字符,$代表行尾。如..$最后两个字符

    

    

    e.g.: 特殊案例。^[0-9]正则行首是数字,&匹配的内容

    

    

    示例-3:打印

    参数:

        p :打印「行级别」,常和 -n 一起使用

    e.g.:打印第三行

    

    e.g.:隔行打印。~后是步长

          

    e.g.:打印尾行

    

    e.g.:打印2到5行、到尾行

    

    e.g.:打印含有123的行

    

    e.g.:打印从匹配123的行到第3行,也打印后面匹配123的行

    

    e.g.:打印从第1行到匹配123的行,不包括第1行

    

    e.g.:打印从匹配def的行到尾行

    

    e.g.:打印从匹配行和其后一行

    

    e.g.:打印从匹配行beijing到匹配行guangzhou

    

    e.g.:打印从文件的行号

    

    

    示例-4:删除

    参数:

        d :删除行「行级别」

    e.g.:删除指定行

            

    e.g.:删除指定行以外的行

    

    e.g.:删除匹配行

    

    

    e.g.:删除匹配行—或。删除匹配123的行或had行

    

    e.g.:删除2到5行中匹配123的行

    

 

    示例-5:读、写

    参数:

        r :

        w :

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值