zoukankan      html  css  js  c++  java
  • AIX sed

    sed:是一个非交互性文本流编辑器,可编辑大或小的文件,sed命令定时编辑,删除文件;
    一次性处理所有改变。
    sed不与原文件打交道,只是操作源文件的一个拷贝,然后所有的改动输出到一个文件,并输出到屏幕。
    
    调用sed的三种方式:
    1.命令行键入命令
    2.将sed命令插入脚本文件,然后调用sed
    3.将sed命令插入脚本文件,并使sed脚本可执行?自动执行?
    
    调用sed
    1.命令格式
    sed [选项] sed命令 输入文件
    2.使用sed脚本
    sed [选项] -f sed脚本文件 输入文件
    3.使用第一行具有sed命令解释器的sed脚本文件
    sed脚本 [选项] 输入文件
    
    选项:
    n    不打印
    c    下一命令是编辑命令[无用]
    f    正在调用sed脚本文件
    
    保存sed命令,可以使用重定向方式:sed 'sed_cmd' input_file > outfile
    
    sed浏览文件时,默认从第一行开始浏览,若想定位文本,有2种方式:
    1.使用行号,单行或多行(范围)
    2.正则表达式
    
    使用sed在文件中定位文本的方式
    ——————————————————————————————————————————————————————————————————
    x            x为行号,如1
    x,y            表示行号范围从x到y
    /pattern/        查询包含模式的行。例如/disk/或/[a-z]/
    /pattern/pattern/    查询包含两个模式的行,例如/disk/disks/
    pattern/,x        在给定行号上查询包含模式的行,例如/ribbon/,3
    x,/pattern/        通过行号和模式查询匹配行,3,/vdu/
    x,y!            查询不包含指定行号x和y的行,1,2!
    ——————————————————————————————————————————————————————————————————
    
    sed编辑命令
    ————————————————————————————————————————————————————————
    p        打印匹配行
    =        显示文件行号
    a        在定位行号后附加新文本信息
    i        在定位行号后插入新文本信息
    d        删除定位行
    c        在新文本替换定位文本
    s        使用替换模式替换相应模式
    r        从另一个文本中读取文本
    w        写文本到一个文件
    q        第一个模式匹配完成后推出或立即推出
    l        显示与八进制ASCII代码等价的控制字符
    {}        在定位行执行的命令组
    n        从另一个文本中读取下一行,并附加在下一行
    g        将模式2粘贴到/pattern n/
    y        传递字符
    n        延续到下一输入行;允许跨行的模式匹配语句
    ——————————————————————————————————————————————————————————
    建立一个文件:
    vi quote.txt
    pg quote.txt
    the honeysuckle band played all night long for noly $90.
    It was an evening of splendid music and company.
    Too bad the disco floor fell through at 23:10.
    The local nurse Miss P.Neave was in attendance.
    
    打印首行:
    sed -n '1p' quote.txt
    The honeysuckle band played all night long for noly $90.
    
    打印最后一行:
    sed -n '$p' quote.txt
    The local nurse Miss P.Neave was in attendance.
    
    打印整个文件,格式:1,$p
    sed -n '1,$p' quote.txt
    The honeysuckle band played all night long for noly $90.
    It was an evening of splendid music and company.
    Too bad the disco floor fell through at 23:10.
    The local nurse Miss P.Neave was in attendance.
    
    打印指定行
    sed -n '4p' quote.txt
    The local nurse Miss P.Neave was in attendance.
    
    使用正则表达式
    打印包含was单词的行;
    sed -n '/was/'p  quote.txt[or sed -n '/was/p'  quote.txt]
    It was an evening of splendid music and company.
    The local nurse Miss P.Neave was in attendance.
    
    
    检索数据:打印出现以ing结尾单词的行
    sed -n '/.*ing/'p quote.txt
    It was an evening of splendid music and company.
    
    查找包含$符号的行:
    sed -n '/$/'p quote.txt
    The honeysuckle band played all night long for noly $90.
    
    筛选出一行,格式:line_num,/pattern/
    sed -n '4,/was/'p quote.txt
    The local nurse Miss P.Neave was in attendance.
    
    打印每行的行号:
    sed -e '=' quote.txt
    1
    The honeysuckle band played all night long for noly $90.
    2
    It was an evening of splendid music and company.
    3
    Too bad the disco floor fell through at 23:10.
    4
    The local nurse Miss P.Neave was in attendance.
    
    打印包含was单词的行的行号:
    sed -n '/was/=' quote.txt
    2
    4
    
    包含was的行:
    sed -n '/was/'p quote.txt
    It was an evening of splendid music and company.
    The local nurse Miss P.Neave was in attendance.
    
    打印包含music的行号,和行数据:
    sed -e '/music/=' -n -e '/music/p' quote.txt
    2
    It was an evening of splendid music and company.
  • 相关阅读:
    Inno Setup入门(十三)——Pascal脚本(2)
    Inno Setup入门(十二)——Pascal脚本(1)
    Inno Setup入门(十一)——完成安装后执行某些程序
    Inno Setup入门(一)——最简单的安装脚本
    用现代化的方式开发一个图片上传工具
    现在就可以使用的5个 ES6 特性
    PhantomJS 基础及示例
    jquery获取css颜色值返回RGB应用
    Javascript常见设计模式解析
    更合理的 setState()
  • 原文地址:https://www.cnblogs.com/theCambrian/p/4627234.html
Copyright © 2011-2022 走看看