shell正则表达式


Shell脚本扩展 正确表达式正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。1.支持的命令:grepvimfindawksed等。1.代表任意单个字符,如:/l..e/与包含一个l,后跟两个字符,然后跟一个e的行相匹配检索wang.txt文件中匹配s字符的。2、^代表行的开始。^love 如:与所有love开头的行匹配检索wang.txt文件中以N开头的。3$代表行的结束。love$ 如:与所有love结尾的行匹配那么^$就表示空行通配符检索wang.txt文件中匹配小写字母az之间的。注意:[abc]表示匹配单个字符abc[123]表示匹配单个字符123[A-Z]表示匹配大写字母A-Z之间一个[^a]表示取反,匹配除去小写字母a的。5、* 用于修饰前导字符,表示前导字符出现0或任意多检索wang.txt文件中出现0次或多次T6、?用于修饰前导字符,表示前导字符出现01
7、+用于修饰前导字符,表示前导字符出现1或多8、{n,m}用于修饰前导字符,表示前导字符出现n至m次n和m都是整数,且n表示前导字符出现nm次;n/m为整数,并且m>n其他形式:{n}连续的n个前导字符;{n,}连续的至少n个前导字符;
检索wang.txt文件中出现24n9、用于转义紧跟其后的单个特殊字符,使该特殊字符成为普通字符检索wang.txt文件中含有.的。10、|表示如:a|b|c 匹配abc。如:grep|sed匹配grepsed检索wang.txt文件中含有ab的。11、(),将部分内容合成一个单位组,比如搜索glad good可以如下‘g(la|oo)d’二、grep命令的用法参数:1. -A NUM–after-context=NUM 除了列出符合行之外,并且列出后NUM行。列出chai.txt文件中Tom行与后俩行2.-B NUM–before-context=NUM -A NUM 相对,但这此参数是显示除符合行之外并显示在它之前的NUM行。
列出chai.txt文件中Tom行与前俩行。3-C [NUM], -NUM, –context[=NUM] 列出符合行之外并列出上下各NUM行,默认值2列出chai.txt文件中Tom行与前后俩行。4-c,–count 不显示符合样式行,只显示符合的总行数。若再加上-v,–invert-match,参数显示不符合的总行数列出chai.txt文件中含有Tom的行数;列出chai.txt文件中不含有Tom的行数。5-i–ignore-case 忽略大小写差别列出chai.txt文件中含有tom(大小写)的行。6、-n–line-number 在匹配的行前面打印行号列出chai.txt文件中含有tom(大小写)的行,并且打印出行号。7-v–revert-match 反检索,只显示不匹配的行列出chai.txt文件中不含有tom的行。8、精确匹配:例如在抽取字符串“ 48”,返回结果包含诸如484和483等包含“48”的其他字符串,实际上应精确抽取只包含48的各行。精确列出chai.txt文件中含有30的行。9、-s 不显示不存在或无匹配文本的错误信xin.txt文件不存在,检索时候提示搜索不到的错误信息,如果不要错误信息提示,则加上-s三、sed命令的用法1sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。2把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。3文件内容并没有改变,除非你使用重定向存储输出。1替换: s命令
1.1 基本用法chai.txtThe替换成chai,输出到aaa.txt文件中。sed 替换命令/../../分隔符(可以用其他符合代替)The 搜索的字符串chai替换的字符串chai.txt>搜索的文件aaa.txt输出到的文件1.2 & 表示匹配的字符串有时可能会想在匹配到的字符串周围或附近加上一些字符.
如:sed ‘s/abc/(abc)/’ new
sed 默认只替换搜索字符串的第一次出现, 利用/g 可以替换搜索字符串所有如果需要对同一文件或行作多次修改,可以使用“-e” 选项3.删除行:d命令从某文件中删除包含“how” 的所有行将passwd内容显示并打印行号,同时删除25行。nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号。4.增加行:a命令(在指定的行后新增)或i命令(在指定的行前新增)a的后面可以接字符串,而这些字符串会在新的一行出现/etc/passwd的第二行后增加XXXXX”字样的新行passwd内容显示并打印行号,同时在第二行后新增hello
passwd内容显示并打印行号,同时在第二行前新增hello如果要同时新增多行,则每行之间开发云主机域名要用反斜杠来进行新行的添加5、取代行:c命令
c的后面可以接字符串,这些字符串可以取代n1,n2之间的行取代行将passwd内容显示并打印行号,同时取代25行间内容。6、打印:p命令sed ‘/north/p’ datafile 默认输出所有行,找到north的行重复打印仅列出passwd文件中的第57行内容。sed -i选项可以直接修改文件中的内容
6.扩展:调用sed有三种方式:l在命令行键入命令lsed命令插入脚本文件,然后调用sedlsed命令插入脚本文件,并使sed脚本可执行。A、使用sed命令行格式为:sed [选项] sed命令 输入文件。记住在命令行使用sed命令时,实际命令要加单引号。sed也允许加双引号。B、使用sed脚本文件,格式为:sed [选项] -f sed脚本文件 输入文件C、要使用第一行具有sed命令解释器的sed脚本文件,其格式为:sed脚本文件 [选项] 输入文件
第一行是sed命令解释行。脚本在这一行查找sed以运行命令,这里定位在/bin。第二行以/company/开始,这是附加操作起始位置。a通知sed是一个附加操作,首先应插入二个新行。第三、四行是附加操作要加入到拷贝的实际文本。


相关推荐: MySQL数据库通过Python操作Schema的详细步骤

本文主要给大家简单讲讲MySQL数据库通过Python操作Schema的详细步骤,相关专业术语大家可以上网查查或者找开发云主机域名一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望MySQL数据库通过Python操作Schema的详细步骤这篇文章可以…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/10 20:36
下一篇 06/10 20:39

相关推荐