zoukankan      html  css  js  c++  java
  • sed基础语法

    sed 太强大了

    参考博客如下:https://www.cnblogs.com/ctaixw/p/5860221.html

    sed:

    Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。

    能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。

    还可以对原文件改动,但是不会再屏幕上返回结果。

    sed命令的语法格式:

    sed的命令格式: sed [option] 'sed command' filename

    sed的脚本格式:sed [option] -f  'sed script' filename

    【option】

    -n :只打印模式匹配的行

    -e :直接在命令行模式上进行sed动作编辑,此为默认选项

    -f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作

    -r :支持扩展表达式

    -i :直接修改文件内容

    【sed command】

    sed [-nefr] [n1,n2]

    sed [-nefri] ‘command’ 输入文本 '
    command'有:
    //a :append,追加新行
    //c :cover,覆盖指定的行
    //d :delete,删除区间行
    //i  :insert,在指定行前面插入一行,同a相反
    //p :print,和-n配合
    //s  :substitute,取代
    追加 a
    $>sed '1ahelloworld' test.txt
    $>sed '1a helloworld' test.txt         //空格
    $>sed '1a\thelloworld' test.txt     //制表符
    $>sed '1,3ahow' test.txt
    删除 d
    $>sed '1d' test.txt    //删除第一行
    $>sed '$d' test.txt    //删除最后行
    $>sed '1,$d' test.txt    //删除第一行到最后一行
    $>sed '1,3d' test.txt    //删除第1,2,3行
    覆盖 cover
    $>sed '1,2chelloworld' test.txt//前两行替换
    显示  p   print
    $>sed '1p' test.txt    //显示第一行
    $>sed '$p' test.txt    //显示最后行
    $>sed '1,$p' test.txt    //
    $>sed -n '1,$p' test.txt/ /n安静模式,只显式处理的行
    $>sed '/main/p' test.txt//显示有main的行
    插入 i
    $>sed '1ihelloworld' test.txt
    $>sed '1i helloworld' test.txt//空格
    $>sed '1i\thelloworld' test.txt//制表符
    $>sed '1,3ihow' test.txt
    替换  s          --------Substitute
    $>sed 's/a/b/g' test.txt//用b替换a
    $>sed ‘s@/a@b@g’ test.txt   //用b替换/a
    注意:两个 /  之间是正则表达式。用于定位含有特定内容的行,有/的特殊字符,替换符/变为@。
  • 相关阅读:
    git升级
    redis集群
    redis安装
    escript
    git搭建仓库与服务器
    svnsync
    post_commit.sh
    nvm安装和使用
    quartz 定时器
    Oracle flashback恢复误删的数据或表
  • 原文地址:https://www.cnblogs.com/wqbin/p/10887909.html
Copyright © 2011-2022 走看看