zoukankan      html  css  js  c++  java
  • 编程四剑客sed-2019.2.20

    sed    [-Options]     [‘Commands’]    filename;

    sed工具默认处理文本,文本内容输出屏幕已经修改,但是文件内容其实没有修改,需要加-i参数即对文件彻底修改;

    x  #为指定行号

    x,y #指定从x到y的行号的范围

    /pattern/  #查询包含模式的行

    /pattern/pattern/  #查询包含两个模式的行

    /pattern/,x  #从与pattern的匹配行到x号行之间的行

    x,/pattern/   #从x号行到与pattern的匹配行之间的行

    x,y!  #查询不包括x和y行号的行

    r #从另一个文件中读文件;

    w #将文本写入到一个文件;

    y  #变换字符

    q #第一个模式匹配完成后退出;

    l # 显示与八进制ASCII码等价的控制字符

    {} #在定位行执行的命令组;

    p #打印匹配行;

    = #打印文件行号;

    a #在定位行号之后追加文本信息;

    i #在定位行号之前追加文本信息

    d #删除定位行;

    c #用新文本替换定位文本;

    s #使用替换模式替换相应模式;

    n #读取下一个输入行,用下一个命令处理新的行;

    N #将当前读入行的下一行读取到当前模式空间;

    (1)替换list.txt 文本中old 为new:

    sed 's/old/new/g' list.txt

    (2) 打印list.txt 文本第一行至第三行;

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

    (3)打印list.txt 文本中第一行与最后一行;

    sed -n '1p;$p' list.txt

    (4)删除list.txt 第一行至第三行、删除匹配行至最后一行:

    sed ‘1,3d’ list.txt

    sed '/list/,$d' list.txt

    (5)删除list.txt最后6行及删除最后一行

    for i in 'seq 1 6';do sed -i '$d' list.txt

    sed '$d' list.txt

    (6)删除list.txt 最后6行;

    sed '$d' list.txt

    (7)在list.txt 查找list.txt 所在行,并在其下一行添加word字符,a表示在其下一行添加字符串,i表示在其上一行添加字符串

    sed 'list/aword' list.txt

    sed 'list/iword' list.txt

    (8)在list.txt查找以test结尾的行尾添加字符串word,$表示结尾标识,&在sed中表示添加;

    sed ‘s/test$/&word/g’ list.txt

    (9)在list.txt查找list的行,在其行首添加字符串word,^表示起始标识,&在sed中表示添加:

    sed ‘list/s/^/&word/ list.txt

    (10)’多个sed命令组合用 -e 

    sed  -e '/list/s/^/&1./' -e 's/list$/&./g' list.txt

    (11)sed读取系统变量,变量替换:

    ABC=123

    sed "s/list/$ABC/g" list.txt

    (12)多个sed命令组合,使用分号";"分割:

    sed -e 'list/s/^/&1./;s/list$/&./g' list.txt

    (13)  修改Selinux策略enforcing为disabled,查找/SELINUX/行,然后将其行enforcing值改成disabled、!s表示不包括SELINUX行:

    sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config

    sed -i 'SELINUX/!s/enforcing/disabled/g' /etc/selinux/config

    (14)合并上下两行,也即两行合并;

    sed 'N;s/ / /' list.txt

  • 相关阅读:
    基于Jquery+Ajax+Json+高效分页
    前端购物车框架(精髓篇)
    基于C#操作Word文档中的Bookmark
    C# 方法中的this参数
    Asp.Net 全局变量
    winform 多表头的实现
    2012年2月
    在UpdatePanel上使用FileUpload上传文件(转载)
    2011年总结和2012年计划
    javascript备注
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10405941.html
Copyright © 2011-2022 走看看