zoukankan      html  css  js  c++  java
  • 正则表达式

    1. grep -A 意思是after,后面可加数字,表示列出该行外,后续的n行也列出来

        -B 意思是before,后面可加数字,表示列出该行外,前面的n行也列出来

      1) 查找特定字符串: grep -n 'the' test 找出test文件中‘the’字符串所有的行并列出行号

      2) 反向查找特定字符串:grep -vn 'the' test 找出test文件中没有‘the’字符串所有的行并列出行号

      3) 忽略大小写: -i 

      4) []选取: grep 't[ae]st' test 查找tast或者test,[]中只有一个字符,即a或者e

      5) 反向选择:grep '[^g]oo' test 查找有oo且oo前面没有g的字符串

      6) 连续选择: grep '[0-9]' test    grep '[[:digit:]]' test  查找一个数字

      7) 行首与行尾:^ $    grep '^the' test 查找行首是the 

                  grep 'the¥' test 查找行尾是the 

                  grep '^$' test 查找空白行

      8) 任意字符 . : grep 'g..d' test .代表一定有一个字符

      9) 多个字符 *:grep 'go*' test 代表查找g后面有0到无穷多个o的字符

      10)限定连续字符{}: grep 'o\{2\}' test 表示查找2个或者以上o的字符串

                grep 'o\{2,5\}' test 查找2到5个o的字符串

    2. sed 工具:

        -n 使用安静模式,表示只有经过sed特殊处理的那一行(或者操作)才会被列出来

        -e 直接在命令行模式上进行sed的动作编辑

        -f 直接将sed的动作写在一个文件内 -f filename 则可以执行filename内的sed动作

        -i 直接修改读取的文件内容,而不是由屏幕输出

      function有以下参数:

        a 新增,a后面可接字符串,出现在新的一行(目前的下一行)

        c 替换,c后面可接字符串,这些字符串可以替换n1,n2之间的行

        d 删除,因为是删除,所以d的后面不接任何参数

        i 插入,i后面可接字符串,出现在新的一行(目前的上一行)

        p 打印,将某个选择的数据打印出来

        s 替换,例如 1,20s/old/new/g就是

      1) cat test | sed '2,5d'  表示 2到5行不打印出来(即删除)

      2) cat test | sed '2a drink tea' 表示是第二行后面加一行"drink tea"

      3) cat test | sed '2,5c NEW' 表示将第2到5行替换成"NEW"

      4) cat test | sed -n '5,7p' 表示即输出5到7行并,-n表示安静模式,如果不加则5到7行会重复显示一次

      5) sed 's/old/new/g' 替换

      6) -i 直接修改文件内容

    3. 扩展正则表达式

  • 相关阅读:
    Java基础知识强化97:final、finally、finally区别
    Java基础知识强化之集合框架笔记02:集合的继承体系图解
    Java基础知识强化之集合框架笔记01:集合的由来与数组的区别
    Java基础知识强化96:Calendar类之获取任意年份的2月有多少天的案例
    Java基础知识强化95:Calendar类之Calendar类的add()和set()方法
    Gym
    Gym
    Good Bye 2015 B. New Year and Old Property —— dfs 数学
    HDU1873 看病要排队 —— 优先队列(STL)
    HDU5877 Weak Pair dfs + 线段树/树状数组 + 离散化
  • 原文地址:https://www.cnblogs.com/louzhang/p/2785535.html
Copyright © 2011-2022 走看看