zoukankan      html  css  js  c++  java
  • sed用法

    2-1、n命令
    n命令简单来说就是提前读取下一行,覆盖模型空间前一行(并没有删除,因此依然打印至标准输出),如果命令未执行成功(并非跳过:前端条件不匹配),则放弃之后的任何命令,并对新读取的内容,重头执行sed。
    例子:
    从aaa文件中取出偶数行
    cat aaa 
    This is 1 
    This is 2 
    This is 3 
    This is 4 
    This is 5

    sed -n 'n;p' aaa //-n表示隐藏默认输出内容 
    This is 2 
    This is 4
    注释:读取This is 1,执行n命令,此时模式空间为This is 2,执行p,打印模式空间内容This is 2,之后读取 This is 3,执行n命令,此时模式空间为This is 4,执行p,打印模式空间内容This is 4,之后读取This is 5,执行n 命令,因为没有了,所以退出,并放弃p命令。因此,最终打印出来的就是偶数行。

    2-3、d命令
    d命令是删除当前模式空间内容(不在传至标准输出),并放弃之后的命令,并对新读取的内容,重头执行sed。
    d命令例子
    从aaa文件中取出奇数
    cat aaa 
    This is 1 
    This is 2 
    This is 3 
    This is 4 
    This is 5

    sed 'n;d' aaa 
    This is 1 
    This is 3 
    This is 5
    注释:读取1,执行n,得出2,执行d,删除2,得空,以此类推,读取3,执行n,得出4,执行d,删除4,得空,但是读取5时,因为n无法执行,所以d不执行。因无-n参数,故输出1 3 5

    特定字符串的行后插入新行

    sed -i '/特定字符串/a 新行字符串' file
  • 相关阅读:
    A. Playing with Paper
    手摇算法
    perl之创建临时文件夹遇到同名文件该咋办
    B. Two Buttons
    A Pangram
    shell的面试题
    A. Game
    B. Drazil and His Happy Friends
    A. Drazil and Date
    2道阶乘的算法题
  • 原文地址:https://www.cnblogs.com/aspirs/p/12964735.html
Copyright © 2011-2022 走看看