zoukankan      html  css  js  c++  java
  • shell sed 命令

    sed:Stream Editor文本流编辑,可以处理多个文件多行的内容。

    格式:sed [选项]... {脚本(如果没有其他脚本)} [输入文件]...

    选项参数:

      -n :只打印模式匹配的行
      -e :直接在命令行模式上编辑,此为默认选项
      -f :文件操作,用 –f filename 执行filename内的sed动作
      -r :支持扩展表达式
      -i :直接修改文件内容

    常用命令参数:
      p : 打印,可以打印某一行,或者多行
      d : 删除,可以删除一行,多行
      s : 替换,用于字符替换。 如: s/kimbo/kim/g
      a : 追加,指定行的 下一行
       i : 插入,指定行的 上一行

    替换or删除:

      s/查找的字符/替换的字符/g   (g:表示全局,全部替换。不加,默认只替换一次。),查找的字符串 可以使用正则表达式。

    sed 's/kimbo/zhang/g' kimbo_test.txt        #将文件中的kimbo都替换成zhang

    sed 's/[ ]//g' kimbo_test.txt        #将文件中的空格、tab删除 ,并不改变文件内容。

    sed -i 's/[ ]//g' kimbo_test.txt        #将文件中的空格、tab删除 ,改变文件内容。

    例子1:

    #1. 打印第二行
    sed -n '2p' kimbo_test.sh
    #2. 打印第二行,第三行
    sed -n '2,3p' kimbo_test.sh
    #3. 打印匹配"kevi"的行
    sed -n '/kevi/p' kimbo_test.sh
    #4. 打印匹配"kevi"的行,到第三行
    sed -n '/kevi/,3p' kimbo_test.sh
    #5.  打印不匹配"kevi"的行
    sed -n '/kevi/!p' kimbo_test.sh
    
    #5.删除匹配"kevi"的行,输出其他行
    cat kimbo_test.sh |sed -e '/kevi/d'
    
    #5. 删除所有空行
    cat kimbo_test.sh |sed -e '/^$/d'
    #6.保留第3行之后的非空行
    cat kimbo_test.sh |sed -e '3,/^$/!d;/^$/d'
    
    
    #p --print 打印;d --delete 删除

    结果截图:

  • 相关阅读:
    [leetCode]945.使数组唯一的最小增量
    [leetCode]974. 和可被 K 整除的子数组
    [leetCode]1035.不相交的线
    [leetCode]面试题 10.01. 合并排序的数组
    [leetCode]面试题04.二维数组
    [面试题03]数组中的重复数字
    [leetCode]169.多数元素
    [leetCode]160.相交链表
    [leetCode]155.最小栈
    POJ 2127 Greatest Common Increasing Subsequence
  • 原文地址:https://www.cnblogs.com/kimbo/p/7003300.html
Copyright © 2011-2022 走看看