正则表达式与文件格式化处理
一、什么是正则表达式?
正则表达式是处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易地完成【查找、删除、替换】某特定字符串的处理过程。
正则表达式基本上是一种【表示法】,只要程序支持这种表示法,那么该程序就可以用来作为正则表达式的字符串处理之用。(常见的grep、sed、vim等)
二、基础正则表达式
2.1 语系对正则表达式的影响
不同的编码顺序可能会导致不同的选取结果。
2.2 grep的一些高级选项
grep [-A] [-B] [--color=auto] '查找字符' filename
选项与参数:
-A: 后面可加数字,为after的意思,除了列出该行外,后续n行也列出来
-B: 后面可加数字,为before的意思,除了列出该行外,前面n行也列出来
--color=auto: 可将正确的那个选取数据列出颜色
grep在数据中查询一个字符串时,是以【整行】为单位来进行数据的选取。
2.3 基础正则表达式练习
一些grep的使用实例,有需要再学习补充
2.4 基础正则表达式字符串集合(characters)
^word
:待查找的字符串(word)在行首word$
:待查找的字符串(word)在行尾.
:代表【一定有一个任意字符】的字符\
:转义符,将特殊符号的特殊意义去除*
:重复零个到无穷多个的前一个RE字符[list]
:字符集合的RE字符,里面列出想要选取的字符[n1-n2]
:字符集合的RE字符,里面列出想要选取的字符范围[^list]
:字符集合的RE字符,里面列出不要的字符串或范围\{n,m\}
:连续n到m个的前一个RE字符
2.5 sed工具
三、扩展增则表达式
略
四、文件的格式化于相关处理
4.1 格式化打印:printf
printf '打印格式' 实际内容
选项参数:
\a :警告声音输出
\b :退格键
\f :清除屏幕
\n :输出新的一行
\r :回车
\t :水平Tab
\v :垂直Tab
\xNN:NN为两位数的数字,可以转换数字成为字符
C语言程序内常见的变量格式:
%ns 多少个字符
%ni 多少整数位数
%N.nf N个位数,小数点有n位
4.2 awk:好用的数据处理工具
awk可以使用【字段】为依据,进行数据的重新整理或输出
4.3 文件比对工具
- diff、cmp
用于文件的比对,diff主要用在纯文本文件方面的新旧版本比对 - patch
将旧版数据更新到新版(主要亦由diff建立patch的补丁源文件)