zoukankan      html  css  js  c++  java
  • sed命令实战

    删除所有的空行,并在每行后面增加一个空行

    sed '/^$/d;G' /etc/fstab

     

    将每一行前导的“空白字符”(空格,制表符)删除

    sed 's/^[ ]*//' file

     

    将文本中的 aaa bbb ccc 都替换为ttt

    sed 's@aaa|bbb|ccc@ttt@g' file

     

    将yes替换为no,并且只在行中未出现字符hello的情况下替换

    sed '/hello/ !s/yes/no/g' file

     

     

    删除匹配到的行的下一行:

     

    sed '/UUID/{n;d}' /etc/fstab

     

    删除匹配到的行和下一行:

     

    sed '/UUID/{N;d}' /etc/fstab

     

    解释一下n如果UUID被匹配到,则移动到匹配行的下一行,并删除这一行

     

    n  读取下一个输入行,用下一个命令处理新的行

     

    解释一下N如果UUID被匹配到,则匹配行和下一行都会被读取到sed的缓存空间,接着删除这两行

     

    删除文件每行中的第一个字符:

     

    sed -n 's/^.//p' /etc/fstab

     

    删除文件每行的最后一个字符:

     

    sed -n 's/.$//p' /etc/fstab

     

    删除文件每行的第二个字符:

     

    sed -nr 's/(.)(.)(.*)/13/p' /etc/fstab

     

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

     

    假设有一个文件格式如下

    使用 sed 'N;s/ / /' file命令转换成如下格式

    原理解释:

      N:读取下一行并追加到模式空间中的行后面,当sed读入第一行内容时,由N将下一行的内容追加到模式空间中,此时模式空间

    中的内容为"aaa bbb",再由编写的匹配规则进行替换,将" "替换为了" ",再执行默认的"p"操作,输出到标准输出

     

    显示奇数行

    sed -n '1~2p' file

  • 相关阅读:
    problem report: middle of linked list
    Partition List解题报告
    Reverse Linked List解题报告
    Remove Duplicates from Sorted List解题报告
    strStr解题报告
    各种编码之间的关系以及getBytes的使用
    jsp/servlet中的编码问题
    javabean+servlet+jsp实现分页
    ligerUI实现分页
    java实现的简单词法分析器
  • 原文地址:https://www.cnblogs.com/linuxboke/p/5607782.html
Copyright © 2011-2022 走看看