• 拜师鸟哥之linux学习体会(11)——正规表达法与文件格式化处理


    1.    正规表示法就是处理字符串的方法,以行为单位来进行字符串的处理,透过一些特殊符号的辅助,可以让使用者轻松到达搜索、删除、取代某特定字符串的处理程序。举个简单的例子,我们知道邮箱都是有特定格式的,可以利用该格式来进行筛选,把不符合的字符串删去。只要每次有来信时,都先将来信的标题与内容进行特殊字符串的对比,发现有不良邮件就进行剔除。

    2.    正规表示法最常用的指令就是grep,意思是进行匹配,例如grep 'eth0'就是找出含eth0的那一行。grep也是以行为单位进行数据的匹配的,另外为了突出搜索的内容,可以加上颜色,做法是在~./bashrc内加上“alias grep = 'grep --color=auto'",再用source使bashrc文件生效,这样每次用grep搜索的信息都是带有颜色的。

    3.    搜索特定字符串:grep -n 'the' 1.txt——搜索the的字符串

           反向搜索:grep -vn 'the' 1.txt(v就是inverse咯)

    4.    结合之前的匹配用法,这里进行以下总结:

    ^word:带搜索的字符串word在行首

    word$:带搜索的字符串word在行尾

    :跳脱字符,将特殊符号的特殊意义删去

    *:重复零个到无穷多个的前一个字符

    n1-n2:列出想要匹配的字符范围

    ^list:字符不在list中

    5.    好了下面讲下文件之间的对比,主要用到diff和cmp两个指令。

           diff:对比两个档案之间的差异,并且以行为单位来进行对比,一般用在ASCII纯文本档的对比上,通常用于统一档案的新旧版本差异上。例如diff passwd.old passwd.new,显示的结果是4d3,就表示左边第四行被删除掉了(d就是delete),基准是右边的第三行。不要用diff去比对完全不相干的档案,因为比不出什么。

           cmp:用于每个字节的对比上,用法与diff相同,即cmp passwd.old passwd.new

    6.    patch:就是打补丁咯,用于升级档案,先比较新旧版本的差异,并将差异档制作成为补丁档,再由补丁档更新旧档案。用法是diff -Naur passwd.old passwd.new > passwd.patch

  • 相关阅读:
    为什么你应该(从现在开始就)写博客
    ASP.net 中使用Flexigrid详细教程之二直接使用数据库数据(有图有真相)
    保护眼睛的方法 (眼睛累了吗 来看看吧)
    程序员不如快递员?
    项目管理界面
    地址栏射击游戏!对,你没看错,就是在地址栏上玩的游戏,有图有真相!
    书写是为了更好的思考
    IT人员如何找到自己的时间?
    std::mem_fun_ref,mem_fun1_ref分析
    __declspec(selectany) 的作用是什么
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4296873.html
Copyright © 2020-2023  润新知