电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

linux学习之grep和sed的简单用法VIP免费

linux学习之grep和sed的简单用法_第1页
1/50
linux学习之grep和sed的简单用法_第2页
2/50
linux学习之grep和sed的简单用法_第3页
3/50
正则表达式正则表达式很多不同的unix命令都采用一种便捷一致的方法来说明匹配模式,这种方法就是正则表达式先学习一个命令:grepgrep[-acinv]‘搜索字符串’filename-c:计算找到‘搜索字符串’的次数。-i:忽略大小写的不同,所有大小写视为相同-n:输出行号-v:反向选择-l只给出包含给定模式的文件列表,而不给出文件中的匹配行搜索特定字符串$grep–n‘the’express$grep–vn‘the’express$grep–in‘the’express$grep-l‘the’*.c在所有源文件中查找the,列出包含the的文件名[]的使用$grep–n‘t[ae]st’express$grep–n‘oo’express$grep–n‘[^g]oo’express$grep–n‘[^a-z]oo’express$grep–n‘[0-9]’express^和$$grep–n‘^the’express$grep–n‘^[a-z]’express$grep–n‘^[^a-zA-Z]’express$grep–n‘\.$’express$grep–n‘^$’express$grep–v‘^$’express|grep–v‘^#’.和*$grep–n‘g..d’express$grep–n‘ooo*’express$grep–n‘goo*g’express$grep–n‘g*g’express$grep–n‘g.*g’express$grep–n‘[0-9][0-9]*’express{}$grep–n‘o\{2\}’express$grep–n‘go\{2,5\}g’express$grep–n‘go\{2,\}g’express字符类描述[:alnum:]字母数字[a-zA-Z0-9][:alpha:]字母[a-zA-Z][:blank:]空格或制表键[:cntrl:]任何控制字符[:digit:]数字[0-9][:graph:]任何可视字符(无空格)[:lower:]小写[a-z][:print:]非控制字符[:punct:]标点字符[:space:]空格[:upper:]大写[A-Z][:xdigit:]十六进制数字[0-9a-fA-F]字符类描述注意区别以下两个命令:grep-n'[[:space:]]are'expressgrep-n'[[:space:]]*are'express保存匹配的字符串:\(…\)将捕获的正则表达式匹配的字符串存储在编号为1到9的“寄存器”中。$grep–n‘o\{2\}’express$grep–n‘^\(.\)’express匹配行首的第一个字符$grep–n‘^\(.\)\1’express如果一行的头两个字符相同,就匹配他们$grep–n‘^\(.\).*\1$’express匹配一行中头一个字符跟最后一个字符相同的行。正则表达式与命令行特殊符号的区别$ls–l*ls|grep–n‘.*’$lsz*ls|grep–n‘^z.*’$ls[!z]*sed的使用非交互式行编辑器顺序逐行将文件读入到内存中。然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端sed工作原理图sed-删除功能dd:Deletepatternspace.Startnextcycle.观察命令结果:sed-e'd'express删除指定行:sed-e'1d'express地址范围:sed-e'1,10d'express从一行开始每隔一行删一行:sed‘0~1d’express从第二行开始每隔7行删一行:sed‘1~7d’expresssed-删除功能带规则表达式的地址删除注释行:sed-e'/^#/d'/etc/services|more删除空行:sed-e'/^$/d'express删除第一行到空行:sed-e'1,/^$/d'express删除最后一行:sed-e'$d'express删除包含apple的行到包含Her的行:sed-e'/apple/,/Her/d'expresssed-打印功能‘p’:打印命令注意观测下面两个命令的区别:sed-n'1p'expresssed'1p'express练习题打印tot文件中从包含"BEGIN"的行开始,并且以包含"END"的行结束的文本块:思考:1如果文件中没有“BEGIN”会怎样?2如果文件中没有“END”会怎样?练习题只打印C源文件中的main()函数练习题删除tot文件中从BEGIN开到END结束的块中包含Name的行sed'/^BEGIN/,/^END/{/Name/d;}'totsed的语法sed[address1[,address2]][options]'{command}'[filename]sed功能:替换's/{oldvalue}/{newvalue}/'实例:$echomynameiszsh|sed's/zsh/shz/'多次修改1使用–e选项实例:$echomynameiszsh|sed-e's/is/are/'-e's/zsh/shz/'$多次修改2用分号来分隔命令实例:$echomynameiszsh|sed's/is/are/;s/zsh/shz/'注意分号必须是紧跟斜线之后的下一个字符全局替换gsed默认处理每一行中出现的第一个选定序列,如果要处理出现的每一个项目,使用g实例:$echomynameiszshzsh|sed's/zsh/shz/g'替换每行第N个匹配$echomynameiszshzsh...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

linux学习之grep和sed的简单用法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部