的使用正则表达式.ppt_第1页
的使用正则表达式.ppt_第2页
的使用正则表达式.ppt_第3页
的使用正则表达式.ppt_第4页
的使用正则表达式.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章 bash shell的使用正则表达式,通配符与特殊符号,* - 通配符,代表任意字符(0到多个) ? - 通配符,代表一个字符 # - 注释 - 跳转符号,将特殊字符或通配符还原成一般符号 | - 分隔两个管线命令的界定 ; - 连续性命令的界定 - 用户的根目录 $ - 变量前需要加的变量值,通配符与特殊符号,! - 逻辑运算中的“非“(not) / - 路径分隔符号 , - 输出导向,分别为“取代“与“累加“ - 单引号,不具有变量置换功能 “ - 双引号,具有变量置换功能 - quote符号,两个中间为可以先执行的指令 () - 中间为子shell的起始与结束 - 中间为字符组合 - 中间为命令区块组合,通配符与特殊符号,最常用的*、?、和 ls test* ls test? ls test? cp test1-5 /tmp cp test!1-5 /tmp cp *A-Z* /tmp ls lda /etc/*0-9* cd /lib/modules/uname -r/kernel/drivers 1-5表示一个字符,但范围是1-5,知识点,正则表达式(Regular Expression,RE) sed工具 扩展正则表达式,正则表达式,是一种处理字串的方法,它以行为单位进行字串的处理,通过一些特殊符号的排列组合,可以让使用者轻易的达到 搜寻/取代/删除 某特定字串的处理程序 具有多种辅助工具,如撷取字串的指令grep、文本编辑器vi、批编辑器sed和awk、linux下的编程语言perl、以编辑器为主干的开发环境emacs等,正则表达式语法支持情况,正则表达式,正则表达式是个能描述一类字符串的模式。如果一个字符串能用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。,正则表达式作用,系统管理员更方便的管理主机 邮件服务器过滤垃圾邮件 正则表达式不仅适用于linux,多种编程语言中也可以使用到它,因为它实际上是人们对于某种规律的表达方式。,grep,grep pattern file. grep 搜索字符串 filename grep 正则表达式 filename 在文件中搜索所有 pattern 出现的位置, pattern 既可以是要搜索的字符串,也可以是一个正则表达式.,grep,grep 搜索字符串 filename 格式: grep -acinv word filename -a:在二进制文件用文本方式查找word字符串 -c:计算找到word字符串的次数 -i:不区分大小写 -n:输出时显示行号 -v:显示没有word的行,grep,eg:last | grep root 查找以root身份登录的信息 last | grep v root 查找以非root身份登录的信息,grep,搜寻指定字符串,且输出时显示行号: grep n the regular_express.txt grep -vn the regular_express.txt grep -in the regular_express.txt,grep,grep 正则表达式 filename 利用中括号指定搜寻范围,且显示行号 注:当使用的搜索字符串是一个指定的范围时,最后用引号将其括起来,grep,搜索有oo的字符,grep,搜索有oo的字符,并且前面没有g,反向选择,grep,oo前面不出现小写字母,grep,要取得有数字的行,0-9表示一个字符,但范围是0-9,grep,行首与行尾字符 $ 搜索the出现在首列的行,grep,搜索开头是小写字母的行,grep,搜索开头不是英文字母的行,注意: 与 的区别,grep,搜索行尾是(. )的行,grep,grep,搜索空白行,grep,应用,grep,单个字符“.”与多个字符“*” .取代任意一个字符,*取代0个或多个其前面的那个字符,grep,搜索至少两个o以上的行 o*=n*o(n=0、1、2n),grep,以g开始,以g结束,中间至少有一个o,grep,以g开始,以g结束,中间字符可有可无,有错误!,RE内容是:g,gg,ggg,gggg,grep,grep,想找出含有任意数字的行,grep,限定连续重复字符的范围 搜索有两个o连续的行,grep,搜索以g后面接2-5个o,最后以g结束的行roottest root# grep -n go2,5g regular_express.txt,正规表达式,扩展正则表达式,简化命令 roottest tmp# cat regular_express.txt roottest tmp# grep -v $ regular_express.txt | grep -v # egrep -v $|# regular_express.txt egrep支持扩展型正则表达式, egrep是grep-E的命令别名,扩展正则表达式,sed工具,sed 是一种编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。,sed工具,sed工具主要有替换、删除、新增、选取特定行等处理功能。 sed -nefr 动作 -n:使用安静模式。在一般sed的用法中,所有来自STDIN的数据一般都会显示在屏幕上,但如果加上-n,则只有经过sed特殊处理的行才会列出来 -e:直接在命令行模式上进行sed的操作编辑 -f:直接将sed的操作写在一个文件内,-f filename则可以执行filename内的sed操作 -r:sed的操作支持的是扩展正则表达式的语法(默认是基础表达式) -i:直接修改文件内容,而不是由屏幕输出,sed工具,定址 可以通过定址来定位希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。 如1,3表示1,2,3行,美元符号($)表示最后一行。范围可以通过数据,正则表达式或者二者结合的方式确定。,sed工具,动作 a :在当前行后面加入一行文本。 c :用新的文本改变本行的文本。 d :从模板块(Pattern space)位置删除行。 i :在当前行上面插入文本。 p :打印某个选择的数据,通常与sed -n 一起使用 s/re/string/g :用string替换正则表达式re;g表示行内全面替换。,sed工具,nl /etc/passwd | sed 2d nl /etc/passwd | sed 2,$d nl /etc/passwd | sed -n 2d,sed工具,在第二行追加内容 在第二行后加入多行内容,sed工具,将2-5行的内容替换为“NO 2-5 number” 仅显示5-7行,sed工具,体会一下-n的作用。,sed工具,使用ifconfig仅列出eth0的IP,sed工具,仅取出IP地址,sed工具,sed工具,不显示注释行,sed工具,多次修改 如果需要对同一文件或行作多次修改,可以有三种方法来实现它。第一种是使用 “-e“ 选项,它通知程序使用了多条编辑命令。例如: $ echo “The tiger cubs will meet on Tuesday after school” | sed -e s/tiger/wolf/ -e s/after/before/ $ The wolf cubs will meet on Tuesday before school 这是实现它的非常复杂的方法,因此 “-e“ 选项不常被大范围使用。更好的方法是用分号来分隔命令: $ echo The tiger cubs will meet on Tuesday after school | sed s/tiger/wolf/; s/after/before/ The wolf cubs will meet on Tuesday before school,实例,删除:d命令 $ sed 2d example-删除example文件的第二行。 $ sed 2,$d example-删除example文件的第二行到末尾所有行。 $ sed $d example-删除example文件的最后一行。 $ sed /test/d example-删除example文件所有包含test的行。,实例,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论