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