跟鸟哥学Linux之——正则表达式和文件格式处理

思维导图:

    对于正则表达式和文件格式化处理做了如下导图,对其做一个整体的概况,下边依次对其进行说明。

 技术分享

正则表达式

百科解释:

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。

目的:

    1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

    2.可以通过正则表达式,从字符串中获取我们想要的特定部分。

    3.可以迅速地用极简单的方式达到字符串的复杂控制。

命令:

    我将正则表达式的命令分为基础和扩展两部分。

基础:

    基础有查找(grep)和修改(set)两项;对于grep查找中有:1. 表示一个任意字符。2^&分别表示行首和行尾。3/</>分别表示匹配词的开头和结束。4*表示重复零个到无穷个的前一个字符(注意和通配符之间的区别)。5[list] 表示查找想要选取的字符,list列出字符串包含的可能字符集合。其中还可以扩展出:[n1-n2][^list],对于[n1-n2]其中-表示一个范围,从n1n2,对于[^list] 表示意思同[list]相反。6、字符串规则:字符串规则有 xz\{n\}yxz\{n,m\}yxz\{n,\}y等,分别表示:xy之间有nz的字符、xy之间有nmz的字符、xy之间有n到无穷个z的字符。对于set修改中有:1、用d字符用来表示删除功能,例如:set 1,2d hosts,将 hosts 1,2行的文件删除。2、用s字符用来表示替换功能,例如:set s/root/ROOT/g xx,表示将xx中的所有root替换为ROOTs表示替换。

扩展:

    对于扩展正则表达式有:1+表示重复一个或一个以上的RE字符。2、?表示零个或一个的前一个RE字符。3| 表示用或的方式找字符串。4、()表示括号中写出要查找字符串的重复内容,分为或关系的几组字符来查找字符串。5、()+ 表示多组字符组。

 

文件处理

目的:

    用来将文件做简单的编排,也可以将自己需要的信息进行排版操作。

文件处理中我从三部分来说,分别为:1printfawk和文件比较。

Printf

    可以将自己的数据进行格式化输出。它可以加相关的参数,对于参数的意义可以查找manpagehelp文件来学习和运用。

Awk

    1、基本用法:awk -F 分隔符‘条件{操作}’文件,用来对文件做相应的操作。2、加行号:在{}内的print操作后加NR3、加字段数:在{}内最后加上NF4、输出的格式处理:用OFS指明字段间分割符,用ORS指明行之间分割符。

文件比较:

    1diff:比较文件或目录的大小或其他方面的区别。2、同样用于文件比较,于diff不同之处在于它利用字节单位比较。3patch:通过文件比较,主要用于升级和打补丁等用途。只会处理相异的部分。 

总述:

    这是我学完正则表达式和文件的格式化和处理后的一个小总结,关于正则表达式要注意和通配符进行区分,它们是完全不同的两项内容,也很容易混淆,再有关于正则表达式的知识还有很多,这只是一个初步的认识,在以后的学习中还需要不断更新。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。