查找和替换

查找文件

传统上,有三种程序,可以用来查到整个文本文件:
1、grep :最后的文本匹配程序,使用POINX定义的基本正则表达式
2、Egrep :扩展式grep,这个程序使用扩展式正则表达式,这是一套功能强大的正则表达式,但是运算的消耗资源 ;
3、fgrep:快速的grep 这个版本的匹配不是正则表达式,优化了算法

简单的grep

查找和替换
查找和替换

正则表达式

正则表达式

其实易总表达式,可以让你吵到匹配特定的文本
查找和替换
查找和替换

POSIX方括号表达式

1、字符集:以[:与:] 将关键字组合括起来的POSIX字符集
2、排序符号:将多字符序列视为一个单位,
3、等价字符集:应视为邓建的一组字符
查找和替换

基本正则表达式

BRE是由多个组成部分所构建的,一开始提供数中单个字符的方式, 而后又结合额外的meta字符,进行多字符匹配;

匹配单个字符

最先开始是匹配单个字符,可采用集中的方式做到:以一般字符、以转义字符的meta字符、以 . (点号)meta字符,或者是方括号表达式:
1、一般字符指的是末列于表3-1的字符,暴扣所有文字和数字字符、绝大数的空白字符以及标点符号字符;
2、若meta字符不能代表他们自己,那么当我们需要meta字符标识他们自己的时候,需要反斜杠转译;
3、. (点号):即任意一个字符
4、最后一种匹配单个字符的方式是使用方括号表达式(bracket expression) ,最简单的方括号表达式是直接将字符列表放在方括号里面 ;

POSIX的排序符号(collating Symbol )、邓建字符集(equivalence class)以及字符集(character class)

1、排序:给予成组的项目排列顺序的操作
2、等价字符集:让不同字符在匹配时视为相同的字符
3、字符集:标识字符的类别

后向引用

BRE提供一种叫后向引用的机制,指的是“匹配于正则表达式匹配的先前的部分”。使用后向指引的步骤有两个,第一步是将子表达式包围在 \ (与 ) 里;但是模式可包括9个子表达式,且为嵌套结构;

文本匹配的锚点

脱字符 (^) 和货币符号 ($)
查找和替换

BRE运算的优先级

查找和替换
查找和替换

正则表达式的扩展

查找和替换

sed

查找和替换

替换字节

在s命令中以g结尾的表示:全局性(global),意即以:“替代文本取代正则表达式中每一个匹配的”,如果没有设置g,sed 只会取代第一个匹配的,设置数字 n,代表是第n 个匹配才需要被取代 ;

sed的运作

sed读取每个文件,一读就是一行,将读取的行放到内存的一个区域
-n 选项修改了 sed的默认行为,当提供此选项是,sed将不会操作完成后打印模式控件的最后内容,反之,若在脚本里面使用p,则会明白将此行数据显示出来,

cut

查找和替换

join

查找和替换