zoukankan      html  css  js  c++  java
  • linux sed 命

    sed(stream editor):是流编辑器,按行进行操作,对符合模式的行在内存中进行操作,不对原文件进行修改,处理结束后将模式空间打印到屏幕。

    sed 的模式空间 处理文件流的内存空间叫模式空间,这个模式空间可以用正则表达式对文件进行过滤。

    sed [optitons]'AddressCommand' file,file....

    [optition]

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

    -i 直接修改原文件,

    -e :可以同时执行多个脚本

    -f 指定一个文件 文件里面保存操作的脚本

    -r:表示使用扩展正则表达式

     Address

    Address:
    1.StartLine,EndLine 用逗号隔开
    2.模式 /Pattern/ Pattern=RegExp  eg:/^root/  以root 开头的行
    3./pattern1/,/pattern2/,第一次被pattern1匹配到的行至第一次被pattern2匹配到的行
    4.只给一个数值,特定的一行。$表示最后一行。
    5.指定起始行,StartLine,+N,从StartLine开始,向后N行。

    Command:
    d:删除符合条件的行
    p:显示符合条件的行 显示以斜线开头的行 eg:sed '/^//p' /etc/fstab
    a: string: 在指定的行后面追加新行,内容为string  eg:'/^//a hello word' /etc/fstab 寻找/etc/fstab 中以反斜杠开头的行,并在后面添加 hello word
    i: string;在指定的行前面添加新行,内容为string
    r file :将指定的文件的内容添加至符合条件的行处 eg:sed '2r /etc/issue' /etc/fstab
    w file :将指定范围内的内容另存为另外一个文件中 eg: sed '/oot/w /tmp/oot.txt' /etc/fstab 将/etc/fstab中含有oot的行保存到/tmp/oot.txt中
    s:/pattern/string/修饰符:查找并替换,默认替换每行中第一次被模式匹配到的字符串。加修饰符 g:全局替换。i:查找时忽略字符大小写。s后面的分隔符可以用用几个相同的字符代替。比如###
    sed's/oot/OOT/' /etc/fstab,sed's/^//#/' /etc/fstab将行首的反斜杠替换为井号。
    &:表示引用的模式匹配到的串。 sed 's#l..e#&r#g' sed.txt 将符合l..e 的字符串替换为后面加r
    或者sed 's#(l..e)#1r#g' sed.txt 这叫做后向引用。

  • 相关阅读:
    Ext JS 6开发实例(三) :主界面设计
    Ext JS 6开发实例(二) :使用CMD创建应用程序
    文件夹或者文件比对工具 Beyond Compare
    LIS问题(DP解法)---poj1631(模板)
    hdoj Max Sum Plus Plus(DP)
    A* 算法详解
    hdoj1043 Eight(逆向BFS+打表+康拓展开)
    hdoj2612 Find a way (bfs)
    luoguP3366 [模板] 最小生成树
    luoguP1196(带权并查集)
  • 原文地址:https://www.cnblogs.com/dfyz/p/4641601.html
Copyright © 2011-2022 走看看