拜师鸟哥之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

 

posted @ 2015-02-21 10:50  elnino10  阅读(167)  评论(0编辑  收藏  举报