欢迎来到天天文库
浏览记录
ID:41037254
大小:53.50 KB
页数:12页
时间:2019-08-14
《Linux shell编程学习笔记3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linuxshell编程学习笔记(三)--chinaitlablinux学习视频第五章文本过滤1.正则表达式一种用来描述文本模式的特殊语法,由普通字符以及特殊字符(元字符)组成^ ----只匹配行首$ ----只匹配行尾* ----匹配0个或多个此单字符[] ----只匹配[]内字符,可以使用-表示序列范围[1-5] ----屏蔽一个元字符的特殊含义. ----匹配任意单字符pattern{n}只用来匹配前面pattern出现的次数,n为次数pattern{n,}只用来匹配前面pattern
2、出现的次数,至少为npattern{n,m}只用来匹配前面pattern出现的次数,次数在n-m之间eg:A{3}B AAABA{3,}BAAABAAAAB...A{3,5}BAAABAAAABAAAAAB2.find命令 ----查找文件和目录findpathname-options[-print-exec-ok]pathname--查找的目录路径..--表示当前目录,/表示根目录-print输出-exec对匹配的文件执行该参数所给出的shell命令,相应命令形式为'command'{};'
3、 注意{}和;之间的空格-ok 与-exec相同,不过执行命令前会有提示options :-name-perm-user-group-mtime-n+n(atime,-ctime)修改时间(访问时间,创建时间)-sizen[c]-type查找某一类型的文件eg.[test@szbirdora1]$find./-mtime+5./helloworld.sh./nohup.out查看./目录(当前)下修改时间超过5天的文件3.grep介绍grep-c输出匹配行计数grep-i不区分大小写grep-h查询多文件时不显示文
4、件名grep-H显示文件名grep-l查询多文件时只输出包含匹配字符的文件名grep-n显示匹配行及行号grep-s不显示不存在或不匹配文本的错误信息grep-v显示不包含匹配文本的所有行(过滤文本)eg.[test@szbirdora1]$grep-n's.a'myfile2:/dev/sda1 20G3.3G 16G18%/4:/dev/sda2 79G 18G 58G23%/u015:/dev/sda4 28G3.9G 22G15%/u0
5、2[test@szbirdora1]$grep-n'2$'myfile5:/dev/sda4 28G3.9G 22G15%/u02grep-options'正则表达式'filename4.sed介绍sed不与初始化文件打交道,它操作的只是一个拷贝,然后所有的改动如果没有重定向到一个文件将输出到屏幕sed是一种重要的文本过滤工具,使用一行命令或使用管道与grep与awk相结合。sed调用:1.命令sed[options]'正则表达式sedcommand'input-files2.script:sed
6、[options]-fsedscriptinput-filessed在文本中查询文本的方式 -行号,可以是简单数字,或一个行号范围 -使用正则表达式x----行号x,y----行号范围从x到yx,y!---不包含行号x到ysed命令选项:-n不打印-c下一个命令是编辑命令-f如果正在调用sed脚本文件基本sed命令p打印匹配行=显示文本行号a在定位行号后附加新文本信息i在定位行号前插入新文本信息d删除定位行c用新文本替换定位文本s使用替换模式替换相应模式r从另一个文件中读文本w写文本到一个文件q第一个模式匹配完成
7、后退去l显示与八进制ascii代码等价的控制字符{}在定位行执行命令组n从一个文件中读文本下一行,并附加在下一行g将模式2粘贴到/patternn/y传送字符eg.[test@szbirdora1]$sed-n'2p'myfilec打印myfile第2行[test@szbirdora1]$sed-n'2,4p'myfilecfb打印第二行到第四行[test@szbirdora1]$sed-n'/a/p'myfilea打印匹配a的行[test@szbirdora1]$sed-n'2,/2/p'myfilecfb12打印第二行
8、到匹配'2'的行s命令替换[test@szbirdora1]$sed's/b/a/p'myfileaaacde替换b为a多点编辑-eeg.(myfile包含a-e)[test@szbirdora1]$sed-e'2d'-e's/c/d/'myfile11addesed命令r---从文件中读取选定的行,读
此文档下载收益归作者所有