第十一章、正则表达式与文件格式化处理

《鸟哥的Linux私房菜-基础篇》第四版学习笔记目录

原书:《鸟哥的Linux私房菜-基础篇》第四版 | 作者: 鳥哥

11.1 开始之前:什么是正则表达式

11.2 基础正则表达式

强悍的符号

特殊符号代表意义
[:alnum:]代表英文大小写字符及数字,亦即 0-9, A-Z, a-z
[:alpha:]代表任何英文大小写字符,亦即 A-Z, a-z
[:blank:]代表空白键与 [Tab] 按键两者
[:cntrl:]代表键盘上面的控制按键,亦即包括 CR, LF, Tab, Del.. 等等
[:digit:]代表数字而已,亦即 0-9
[:graph:]除了空白字符 (空白键与 [Tab] 按键) 外的其他所有按键
[:lower:]代表小写字符,亦即 a-z
[:print:]代表任何可以被打印出来的字符
[:punct:]代表标点符号 (punctuation symbol),亦即:" ’ ? ! ; : # $…
[:upper:]代表大写字符,亦即 A-Z
[:space:]任何会产生空白的字符,包括空白键, [Tab], CR 等等
[:xdigit:]代表 16 进位的数字类型,因此包括: 0-9, A-F, a-f 的数字与字符

11.2.2 grep 的一些进阶选项

1
2
3
4
5
6
7
8
grep [-A] [-B] '搜寻字串' filename
   选项与参数:
 -A :后面可加数字,为 after 的意思,除了列出该行外,后续的 n 行也列出来;
 -B :后面可加数字,为 befer 的意思,除了列出该行外,前面的 n 行也列出来;

# dmesg 可列出核心产生的讯息!包括硬件侦测的流程也会显示出来。
# 在关键字所在行的前两行与后三行也一起捉出来显示
dmesg | grep too -n -A3 -B2

11.2.3 基础正则表达式练习

11.2.4 基础正则表达式字符汇整 (characters)

详见书中表格

11.2.5 sed 工具

炫酷文本操作

11.3 延伸正则表达式

详见书中表格

11.4 文件的格式化与相关处理

11.4.1 格式化打印: printf

11.4.2 awk:好用的数据处理工具

awk 也是一个非常棒的数据处理工具!相较于 sed 常常作用于一整个行的处理, awk 则比较 倾向于一行当中分成数个“字段”来处理。因此,awk 相当的适合处理小型的数据数据处理呢!

11.4.3 文件比对工具

diff

diff 就是用在比对两个文件之间的差异的,并且是以行为单位来比对的!一般是用在 ASCII 纯 文本文件的比对上。

cmp

patch

comments powered by Disqus