• 八、Linux三剑客之sed


    处理文本文件的命令

    参数说明

    • -e<script>或--expression=<script> 以选项中指定的脚本来处理输入的文本文件。
    • -f<script文件>或--file=<script文件> 以选项中指定的脚本文件来处理输入的文本文件。
    • -h或--help 显示帮助。
    • -n或--quiet或--silent 仅显示脚本处理后的结果。
    • -V或--version 显示版本信息。

    动作说明

    • a :新增, a 的后面可以接字符串,而这些字串会在新的一行出现(目前的下一行)
    • c :取代, c 的后面可以接字符串,这些字串可以取代 n1,n2 之间的行!
    • d :删除,d 后面通常不接任何字符串;
    • i :插入, i 的后面可以接字符串,而这些字串会在新的一行出现(目前的上一行);
    • p :打印,将某个选择的数据印出。通常 p 会与参数 sed -n 一起使用
    • s :取代,搭配正规使用,例如 1,20s/old/new/g

    案例

    在testfile文件的第四行后添加一行,-e参数可省略

    [root@tz shell]# sed -e 4a
    ewLine testfile
    HELLO LINUX!
    Linux is a free unix-type opterating system.
    This is a linux testfile!
    Linux test
    newLine
    

    删除2~5行

    [root@tz shell]# nl /etc/passwd |sed '2,5d'
         1  root:x:0:0:root:/root:/bin/bash
         6  sync:x:5:0:sync:/sbin:/bin/sync
         7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
         8  halt:x:7:0:halt:/sbin:/sbin/halt
         9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    

    删除第二行

    [root@tz shell]# nl /etc/passwd | sed '2d'
    

    删除第3行到最后一行

    [root@tz shell]# nl /etc/passwd |sed '3,$d'
         1  root:x:0:0:root:/root:/bin/bash
         2  bin:x:1:1:bin:/bin:/sbin/nologin
    

    第2行后插入drink tea

    [root@tz shell]# nl /etc/passwd | sed '2a drink tea'
         1  root:x:0:0:root:/root:/bin/bash
         2  bin:x:1:1:bin:/bin:/sbin/nologin
    drink tea
         3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

    第2行前插入drink tea

    [root@tz shell]# nl /etc/passwd |sed '2i drink tea'
         1  root:x:0:0:root:/root:/bin/bash
    drink tea
         2  bin:x:1:1:bin:/bin:/sbin/nologin
    

    第2行增加两行

    [root@tz shell]# nl /etc/passwd | sed '2a Drink tea or .....
    > drink beer ?'
         1  root:x:0:0:root:/root:/bin/bash
         2  bin:x:1:1:bin:/bin:/sbin/nologin
    Drink tea or .....
    drink beer ?
         3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
    






    学习来自菜鸟教程

    今天的学习是为了以后的工作更加的轻松!
  • 相关阅读:
    andriod获得textView的值设置textView的text
    Android 自动生成的R类
    andriod 启动日历
    ggplot2在一幅图上画两条曲线
    R语言中动态安装库
    Python中的动态类
    Python中将dict转换为kwargs
    Apache负载均衡
    Python codecs小Tips
    Matlab求三重积分
  • 原文地址:https://www.cnblogs.com/tz90/p/12809528.html
Copyright © 2020-2023  润新知