zoukankan      html  css  js  c++  java
  • 鸟哥的Linux私房菜——第十五章:正规表示法

      视频链接

      B站:http://www.bilibili.com/video/av10364761/

      目录如下

    1. 前言:
    2. 基础正规表示法:
    2.1 grep 撷取字符串      (grep -iv  i是忽略大小写,v是反向选择显示没有搜寻字符串的 '搜寻字符串' filename)
    2.2 重要特殊字符(characters)    ([] ^ $ *)
    3. 延伸正规表示法:          (+ ? | () )
    4. 格式化打印: printf        ()
    5. sed 工具简介            (sed '1a ..'   a新增  d删除  c取代)
    6. awk 工具简介            (awk  NF每一行的字段总数   NR目前在第几行   FS目前分隔符,默认是空格)
    7. 文件数据比对与打印的相关功能    ()
    7.1 档案比对: diff, cmp, patch     (diff 旧文件 新文件  cmp -s 旧文件 新文件 cmp默认输出第一个不同点,-s输出全部  patch要利用.patch差异文件,还要在就文件夹里面)
    7.2 档案打印准备: pr          ()

    1.grep搜寻

    1. []  里面的字母不管有几个都指一个

    2.grep 反向选择^   注意!^必须在[]里面才是反向选择

     3.行首^ 行尾$

    4.*

     延伸正规表示法

    sed

    下面的几个例子都是显示结果,文件本身的内容并没有改变

    那么我们如果想改变文件的内容改怎么办呢?就是加一个-i就好了

    //比如我要修改vae.c这个文件,在第2行下面添加vae,也就是第3行是vae
    sed -i '2a vae' vae.c
    
    //现在我又想把vae给删除了,注意是删第3行啊~
    sed -i '3d' vae.c

    awk

     

    有没有发现第2 3两行是有问题的?因为2 3两行的数据有空格或者是Tab,所以在使用awk处理数据的时候要注意你的数据是不是有空格或者Tab

    还要注意的是,$0指的是这一行,$1是第一列,$2是第二列...以此类推v

     

     diff

    就是比较两个文件之间的不同,常常与patch命令一起用

    我改变一个文件

     cmp 比较两个档案,以 位  为单位

     

     patch 我们来讲解一个简单的用法

    先把两个文件的不同写进一个文档  注意!diff 必须要加上 -Naur

    pr

  • 相关阅读:
    综述:设计模式的分类及六大原则
    模板方法模式
    工厂模式三部曲之抽象工厂模式
    AI,DM,ML,PR的区别与联系
    delphi ADOCONNECTION异常拦截
    Delphi 10.2.3 精简版自动激活Embarcadero Delphi 10.2.3 v25.0.29899.2631 Lite v14.4
    Delphi使用TADOQuery的RowsAffected属性时需要注意的一个点
    delphi 新版内存表 FDMemTable
    delphi 中Adoquery ,在打开时能否让记录指针不移动? [问题点数:40分,结帖人microd]
    delphi循环校验数据集
  • 原文地址:https://www.cnblogs.com/yunquan/p/6762966.html
Copyright © 2011-2022 走看看