zoukankan      html  css  js  c++  java
  • linux基础命令之sed

    什么是sed?

    sed是一个流编辑器,英文全名为stream editor,流的意思就是能处理文件或者通过管    道传输来的数据。主要针对行,也就是行编辑。默认是不编辑文件的,处理时,把当前    处理的行存储在临时缓冲区中,称之为模式空间(pattern space),接着用sed命令处理      缓冲区中的内容,处理完成后,默认把缓冲区的内容送往至屏幕,接着处理下一行。仅    对模式空间中的数据做处理,处理结束后将模式空间打印至屏幕

    ·sed的用法

    sed [options]  ‘AddressCommand’  file 

    options 

    -e SCRIPT  可以同时执行多个addresscommand,sed -e …… -e ……

    -n  静默模式,不显示模式空间中的内容

    -i  直接修改原文件

    -r  sed默认不支持扩展的正则表达式,-r则支持

    -f  执行指定文件,该文件内容为addresscommand的一系列格式

    address

    1  startline,overline  用逗号分割

    2  /pattern/  用正则表达式即可

    3  /pattern1/,/pattern2/ 第一次被模式匹配的行开始,到第一次被模式2匹配到的行       结束

    4  linenumber  指定的行,其中$表示最后一行。

    5  startline +n  从指定行开始,向后的n行,共n+1行。

    command  若有多个命令用;分开

    d  删除符合条件的行

    p  输出行,n和p一起用表示只打印那些发生变换的行

    a  在当前行下面插入文本

    i  在当前行上面插入文本

    q  退出sed

    n  读取下一行,用下一个命令处理新行,而不是第一个命令。

    a(此处有空格)’string’  在指定的行后追加新行,内容为string

    i(此处有空格)’string’       行前

    r(此处有空格)file  将指定文件内容添加至符合条件的每行后面,可用来将两个        文件合并

    w(此处有空格)file  指定范围内行另存为指定文件中。

    s///  /pattern/string/修饰符  查找pattern并替换为string,默认只替换每行中第一次        被匹配到的字符串。/可以用@  #等代替。

    修饰符 g   全局替换

    i  忽略大小写

    假设处理的文本为test.file

    在每行的头添加字符,比如"HEAD",命令如下:

    sed 's/^/HEAD&/g' test.file

    在每行的行尾添加字符,比如“TAIL”,命令如下:

    sed 's/$/&TAIL/g' test.file

                         在指定行的末尾添加内容:

                               

                                Cat file

                                       Aaaa

                                       Bbbb

                                       Cccc

                                Sed ‘s/cc.*/& eeee/g’ file

  • 相关阅读:
    HDU 2176 取(m堆)石子游戏 (尼姆博奕)
    HDU 1846 Brave Game (巴什博弈)
    HDU-1025 Constructing Roads In JGShining's Kingdom
    FOJ有奖月赛-2015年11月 Problem B 函数求解
    FOJ有奖月赛-2015年11月 Problem A
    JXNU acm选拔赛 不安全字符串
    JXNU acm选拔赛 涛神的城堡
    JXNU acm选拔赛 涛涛的Party
    JXNU acm选拔赛 壮壮的数组
    JXNU acm选拔赛 最小的数
  • 原文地址:https://www.cnblogs.com/yezuhui/p/6860335.html
Copyright © 2011-2022 走看看