• sed的使用


    sed只是对缓冲区中原始文件的副本进行编辑,并不是编辑原始文件。因此,如果想要保存改动内容,需要将输出重定向到另外一个文件
     调用sed的三种方式,一种为Shell命令行方式,另外两种是将sed命令写入脚本文件,然后执行该脚本文件
    
    sed [选项] sed的命令 输出文件    
    sed [选项] -f     sed脚本文件C 输出文件
    sed命令选项及其意义
    -n #不打印所有行到标准输出
    -e #表示将下一个字符串解析为sed编辑命令,如果只传递一个编辑命令给sed,-e选项可以省略
    -f #表示正在调用的sed脚本文件

    sed编辑命令

    p #打印匹配行
    = #打印文件行号
    a #在定位行号之后追加文件信息
    i #在定位行号之前出入文本信息
    d #删除定位行
    c #用新文本替换定位文本
    s #使用替换模式替换相应模式
    r #从另外本件中读文本
    w #将文本写入一个文件
    y #变换字符
    q #第一个模式匹配完成后退出
    {} #在定位执行的命令组
    n #读取下一个输出行,用下一个命令处理新的行
    h #将模式缓存区的文本复制到保持缓冲区
    H #将模式缓冲区的文本追加到保持缓冲区

    sed的一些常用操作

    '/.$/d'   #删除以句点结尾的行
    '/abcd/d'   #删除包含abcd的行
    's/[][][]*/[]/g'    #用一个空格替换掉两个以上的空格
    's/^[][]*//g'   #将行首空格替换成空.即删除行首空格
    's/.[][]*/[]/g'    #删除句点后跟两个空格或更多的空格,并以一个空格替代
    '/^$/d'    #删除空行
    '1d'    #删除第一行
    '$d'   #删除第一行
    's/_*//g'   #删除横线----
    's/^.//g'   #删除第一个字符
    's/^.///g'     #从路径中删除第一个/
    's/[]/[ ]/g'    #删除所有的空格,并用tab键替代
    's/^[ ]//g'     #删除行首所有的tab键
  • 相关阅读:
    C#SortedList排序列表怎么样逆序输出
    使 SortList 实现重复键排序
    【转】delphi程序只允许运行一个实例的三种方法:
    Delphi中控制Excel(转载)
    spring和hibernate的集成
    使用Jedis操作redis
    使用java发送邮件
    error at ::0 can't find referenced pointcut...解决方法
    log4j简单的使用
    spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)
  • 原文地址:https://www.cnblogs.com/sujc-blogs/p/9722513.html
Copyright © 2020-2023  润新知