Linux-2018-spring-5-15
跳到导航
跳到搜索
一、复习
- 正则表达式
1、vi中支持基本的正则表达式语法
vi中查找:$vim a.txt ;
/std (查找)
:s/std/stdin/(当前行的第一个std替换成stdin)
:s/std/stdin/g(当前行std全局替换成stdin,第一个/是定界符)
:%s/std/stdin/(所有行的第一个std替换成stdin)
:%s/std/stdin/g(所有行std全局替换成stdin,第一个/是定界符) 等价于:0,$s/std/stdin/g
:s/std/stdin/3(当前行开始3行的第一个std替换成stdin)
:s/std/stdin/g3(当前行开始3行的std全局替换成stdin)
:26s/std/stdin/g(26行std全局替换成stdin,第一个/是定界符)
:23,26s/std/stdin/g(23到26行std全局替换成stdin,第一个/是定界符)
:.,$s/std/stdin/g(当前行到文章末尾std全局替换成stdin,第一个/是定界符)
:.,.+3s/std/stdin/g(当前行开始3行std全局替换成stdin)
:s/std[inout]*/(&)/g2(当前行开始2行stdin或者stdout全局替换成加括号的stdin和stdout)
:15,20d(删除15到20行)
:0,.d(删除零到当前行)
2、基本语法
. [] [a-Z]:字符类(集合),只能匹配一个字符 [0-9]等价于\d(预定义字符类)等价于digit: [^] [ \t\r\n]:空白符(空格,tab,回车)等价于\s等价于space: * ? {} () &