• sed


    sed(stream editor),通常用来过滤文本,通常用于处理其他命令的输出和文本文件。对每行执行命令。

    示例

    选项 -n 静默模式

    # ls -l | sed # 有输出
    # ls -l | sed -n #无输出

    命令 p 打印匹配行

    ls -l | sed -n '/^-/p'

    命令 d 删除行

    # ls -l | sed '2d'  #删除第二行
    # ls -l | sed '2,10d'  #删除2到10行
    # ls -l | sed '/^-/d'  #删除匹配以-开头的行,使用正则表达式匹配行

    命令 a 追加行

    # ls -l | sed '2a11111111'

    命令 i 插入行

    # ls -l | sed '2i11111' #注意Mac下需要换行

    选项 -i 修改读取的文件

    # sed -i 's/aaa/bbb/g' kkk #kkk文件的内容被修改

    选项 -e (连续)编辑模式

    # ls -l | sed -e '/^-/d' -e '/2018/d'

    命令 n 读取下一行,用n之后的命令处理新读入的行

    # echo -e "111
    222
    333
    444" | sed 'n;/111/p' #无输出
    # echo -e "111
    222
    333
    444" | sed 'n;/222/p' #输出222
    # echo -e "111
    222
    333
    444" | sed 'n;/333/p' #无输出
    # echo -e "111
    222
    333
    444" | sed 'n;/444/p' #输出444

    命令 N 读取下一行,用N之后的命令处理读入的两行

    # echo -e "111
    222
    333
    444" | sed 'N;/111/p' 
    111
    222
    # echo -e "111
    222
    333
    444" | sed 'N;/222/p' 
    111
    222
    # echo -e "111
    222
    333
    444" | sed 'N;/333/p' 
    333
    444
    # echo -e "111
    222
    333
    444" | sed 'N;/444/p'
    333
    444

    命令 w 写入文件

    # ls -l | sed -n 'w kkk'

    显示行号

    # ls -l | sed '=' | sed 'N;s/
    / /' #需要分开写了,等号用来显示行号,N追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码
  • 相关阅读:
    Android源码学习之如何使用eclipse+NDK
    Android NDK 工具链的使用方法(Standalone Toolchain)
    gcc和g++的区别
    OCP-1Z0-051-V9.02-42题
    OCP-1Z0-051-V9.02-41题
    OCP-1Z0-051-V9.02-40题
    OCP-1Z0-051-V9.02-39题
    windows下自动生成文件夹下所有JNI所需的.h头文件
    OCP-1Z0-051-V9.02-38题
    Oracle DB 视图
  • 原文地址:https://www.cnblogs.com/nuoforever/p/13893627.html
Copyright © 2020-2023  润新知