• sed命令


    sed命令

    对文件的操作无非就是”增删改查“,怎样用sed命令实现对文件的”增删改查“,玩转sed是写自动化脚本必须的基础之一

    sed遵循简单的工作流:

    1. 读取(从输入中读取某一行)
    2. 执行(在某一行上执行sed命令)
    3. 显示(把结果显示在输出中)

    默认是显示修改后内容,不会修改原文件,除非使用-i 参数。

     

    常用参数及命令

    sed [-nefri]  'command' test.txt  (尽量按照标准格式使用单引号)

    sed

     

    处理文本文件,并输出到标准输出(控制台)

     

    command

     

     

    -e

    可以指定多个命令

     

    a

    新增

     

    -f

    指定命令文件

     

    c

    替换

     

    -n

    取消默认控制台输出,与p一起使用可打印指定内容

     

    d

    删除

     

    -i

    输出到原文件,静默执行(修改原文件的意思)

     

    i

    插入

     

     

     

     

    p

    打印,要和-n参数一起使用

     

     

     

     

    s

    替换(匹配局部替换)

     

    新增 a

    sed '2a testContent' test.txt

    在第 2 行后面新增一行内容

    sed '1,3a testContent' test.txt

    在原文的第 1~3 行后面各新增一行内容

    替换 c

    sed '2c testContent' test.txt

    将第 2 行内容整行替换

    sed '1,3c testContent' test.txt

    将第 1~3 行内容替换成一行指定内容

    删除 d

    sed '2d' test.txt

    删除第 2

    sed '1,3d' test.txt

    删除第1~3

    插入 i

    sed '2i testContent' test.txt

    在第 2 行前面插入一行内容

    sed '1,3i testContent' test.txt

    在原文的第 1~3 行前面各插入一行内容

    打印 p

    sed '2p' test.txt

    重复打印第 2

    sed '1,3p' test.txt

    重复打印第1~3

    sed -n '2p' test.txt

    只打印第 2

    sed -n '1,3p' test.txt

    只打印第 1~3

    sed -n '/user/p' test.txt

    打印匹配到user的行,类似grep

    sed -n '/user/!p' test.txt

    ! 反选,打印没有匹配到user的行

    sed -n 's/old/new/gp' test

    只打印匹配替换的行

    替换 s

    sed 's/old/new/' test.txt

    匹配每一行的第一个old替换为new

    sed 's/old/new/gi' test.txt

    匹配所有old替换为newg 代表一行多个,i 代表匹配忽略大小写

    sed '3,9s/old/new/gi' test.txt

    匹配第 3~9 行所有old替换为new

     

    参数 -e

    sed -e 's/系统/00/g' -e '2d' test.txt

    执行多个指令

     

    参数 -f

    sed -f ab.log test.txt

    多个命令写进ab.log文件里,一行一条命令,效果同-e

     

    温馨提示

    若不指定行号,则每一行都操作。

    $代表最后一行,双引号内的$代表使用变量。

     

    已使用 Microsoft OneNote 2010 创建
    一个用于存放所有笔记和信息的位置

  • 相关阅读:
    WorkFlow
    自己写的一个多线程的consumer 和 producter 模式
    Visual Studio进行Web性能测试
    基元线程同步——内核模式构造
    系统架构师
    《构建高性能的web站点》读书笔记缓存
    python中的代码对象
    python web框架互相融合, Pyramid或取代Django
    海量数据处理专题
    Django框架学习Forms篇
  • 原文地址:https://www.cnblogs.com/zhangzongjian/p/10708222.html
Copyright © 2020-2023  润新知