zoukankan      html  css  js  c++  java
  • sed命令使用

    基本sed编辑命令
    p                打印匹配行
    =                显示文本行号
    a\                在定位行后附加新文本信息
    i\                在定位行后插入新文本信息
    d                删除定位行
    c\                用文本替换定位文本
    s                使用替换模式替换相应模式
    r                从另一个文本中读文本
    w                写文本到一个文件
    q                第一个模式匹配完成后推出或立即推出
    l                显示与八进制ASCII代码等价的控制字符
    {}                在定位行执行的命令组
    n                从另一个文本中读文本下一行,并附加下一行
    g                将模式2粘贴到/pattern n/
    y                传送字符

    sed例子中使用如下文本文件quote.txt
    $cat quote.txt
    The honeysuckle band played all night long for only $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.

    显示quote.txt的第二行
    $sed -n '2p' quote.txt

    显示quote.txt的1至3行
    $sed -n '1,3p' quote.txt

    匹配单词Neave,并显示此行
    sed -n '/Neave/'p quote.txt

    打印最后一行
    sed -n '$p' quote.txt

    打印行号
    sed -e '/music/=' quote.txt

    匹配第4行的The字符
    sed -n '4,/The/'p quote.txt

    向quote.txt插入文本Then suddenly it happened.可编写一sed脚本append.sed
    $cat append.sed
    #!/bin/sed -f
    /company/ a\
    Then suddenly it happened.

    增加可执行权限
    chmod u+x append.sed

    运行./append.sed quote.txt

    插入文本
    在指定文件插入一行文本,用[address]i\
    例如insert.sed
    #!/bin/sed -f
    /attendance/ i\
    Utter confusion followed.

    运行insert.sed quote.txt即可

    修改文本,用[address]c\
    例如change.sed
    #!/bin/sed -f
    /honeysuckle/ c\
    The office Dibble band played well.

    运行change.sed quote.txt

    删除文本
    sed '1d' quote.txt  删除第一行
    sed '1,3d' quote.txt  删除1到3行
    sed '$d' quote.txt  删除最后一行
    

    将played替换为from Hockering

    sed -n 's/played/from Hockering &/p' quote.txt

    删除路径第一个/

    echo $PWD | sed 's/^\///g'

    增加文件扩展名

    sed附加字符串".doc"到字符串"account"

    echo "account" | sed 's/$/.doc/g'

    附加文本

    $cat ok.txt

    AC456

    AC492169

    AC9967

    AC88345

    如果要在ok.txt每句末尾加上Passed,可用

    sed 's/[0-9][0-9]*/& Passed/g' ok.txt

  • 相关阅读:
    349. Intersection of Two Arrays
    1342. Reduce Array Size to The Half
    Telegram 汉化教程【转】
    jQuery 事件
    jQuery 事件
    jQuery 遍历
    jQuery 遍历
    CocosCreator教程(入门篇)【转】
    JavaScript shift() 方法使用【转】
    jQuery中动画函数animate的用法详解【转】
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2036930.html
Copyright © 2011-2022 走看看