• Linux-正则表达式与三剑客


    1 固化命令文件

      登录时执行文件的顺序

        /etc/profile

        /etc/profile.d

        ~/.bash_profile

        ~/.bashrc

        /etc/bashrc

      非登录shell

        ~/.bashrc

        /etc/bashrc

        /etc/profile.d

      修改配置文件的时候

        修改文件后 可以用 source 文件 来使得设置的配置生效

        配置PATH的方法

        vim /etc/profile 

        在最后加上

          PATH=要注入的:$PATH

          export PATH

    2 正则表达式

      更多正则表达式参见http://deerchao.net/tutorials/regex/regex.htm

      ^ 开头 取反用于[]中

      $ 结尾

    . 代表任意一个字符

    * 前面的字符有0个或者无穷个

    + 前面的字符有1个或者无穷个

    {} 前面的字符有 某个范围的

      

    ? 前面的字符0次或者1次

    - 范围, 从哪到哪, 用于[]中获取范围 

    [] 在内的其中一个

      [a-z] 小写字母

      [A-Z] 大写字母

      [a-Z] 所有英文字母

      [0-9] 数字

      其中 在[]中要输出-需要将其放在末尾并转义

    转义

    () 分组

      获取该分组用 数字

      其中数字从1开始从左往右数第几组

    3 grep命令

      grep -选项 '查询内容' 文件

        作用: 根据查询的内容, 只要当前行满足了'查询内容'就显示出来, 匹配正确的标红显示

      -n 输出行号

      -o 只显示匹配后的内容

      -q 安静模式 不显示结果(quiet)

      -A 行数 显示后几行

      -B 行数 显示前几行

      -C 行数 显示前后几行

      -c 显示匹配到的行数(conunt)

      -l 过滤成功之后显示文件名, 不成功则不显示

      -i 忽略大小写来匹配(ignore)

      -v 取反显示行

      -w 单词, 查询内容必须是单词匹配

      -E 扩展模式, 使得更多的正则表达式得到支持, 等同于 egrep

      -e 用于多个查询条件的时候, 只要满足一个条件就可以输出

        egrep -e 'root' -e 'hello' /etc/passwd

      诸如过滤掉某个文件的注释和空行

        

    4 sed命令

      sed是流编辑器, 同样是以行为单位

      命令格式

        sed -选项 '处理办法' 读取的文件

      选项

      -n 静默模式 不打印结果

      -e 可以指定多个处理  

      -i 对文件进行直接修改

      -f 将规则写到文件中

      -r 扩展模式

    处理办法

      处理办法有两种, 一种是针对行号进行对行的处理, 另一种是书写正则表达式, 对满足正则表达式的内行进行处理

    1 行号操作

      3d 删除第三行

      3p 打印第三行

      3c 改变第三行的内容(change)

      3a 在第三行之后增加一行

        sed '3a add to this line' /etc/passwd

      3i 在第三行之前增加一行

        sed '3i insert to this line' /etc/passwd

    1,3d 从1行到3行删除

    1d;3d 删除1行和3行

    s/替换的/换成的/ 替换

    s/替换的/换成的/g 一行的都替换 全局替换

      2 正则表达式操作

        格式:

        '/正则表达式/操作'

    人若有恒 无所不成
  • 相关阅读:
    自动部署基于Maven的war文件到远程Tomcat
    解决Eclipse中新创建的Maven项目不自动创建web.xml文件
    JFreeChart
    hibernate
    hibernate
    hibernate
    hibernate
    Hibernate
    hibernate关联关系映射详解
    Hibernate获取数据java.lang.StackOverflowError
  • 原文地址:https://www.cnblogs.com/weihuchao/p/6600108.html
Copyright © 2020-2023  润新知