设为首页 收藏本站
查看: 1091|回复: 0

#7 shell脚本编程之正则表达式

[复制链接]

尚未签到

发表于 2018-8-26 13:37:11 | 显示全部楼层 |阅读模式
  多命令执行方法:
  脚本组成;
  1.shengbang
  2.#
  3.空白行——没有任何内容的行、只包含空白字符或制表符(TAB)
  4.逻辑判断
  shell脚本编程:
  1.加执行权限,通过路径来调用脚本;
  2.利用解释器直接执行;
  本文处理工具:
  vim、vi、nano
  文本处理三剑客:
  grep系:
  grep、egrep、fgrep,文本搜索工具,基础“pattern”对于给定的文本进行模糊搜索,grep系默认工作于贪婪模式下;
  sed:stream editor,流数据器,行编辑器,文本编辑工具;
  awk:gawk,——gun awk,文本格式化工具,文本报告生成器,文本处理的编程语言;
  cut、sort
  grep系:
  grep
  egrep
  fgrep
  grep:global search regular expression and print out the line。
  利用正则表达式进行全局搜索并将匹配的行显示出来;
  grep [OPTIONS] PATTERN [FILE...]
  PATTERN:过滤条件,是由正则表达式元字符以及没有特殊含义的文本字符组成;
  正则表达式的元字符:
  会被正则表达式引擎解释为特殊含义;
  pcre(最完整的正则表达式引擎)——perl语言的正则表达式引擎;
  基本的正则表达式:bre
  扩展的正则表达式:ere
  grep:默认仅支持基本正则表达式;
  egrep:默认仅支持扩展正则表达式;
  fgrep:默认不开启正则表达式引擎;
  文本字符:
  只具备字符便面含义的那些字符;
  常用选项:
  -i, --ignore-case:忽略文本字符的大小写;
  -v, --invert-match:反相匹配;最终显示的结果是pattern不能成功匹配的行;
  -c, --count:计数,统计匹配pattern的所有的行数;
  -o, --only-matching:关闭贪婪模式,仅显示pattern能够匹配的内容;
  -q, --quiet, --silent:安静模式,不输出任何匹配结果;
  --color[=WHEN], --colour[=WHEN]:将匹配pattern的内容以特殊颜色高亮显示;
  --color=auto
  -E, --extended-regexp:扩展的正则表达式,grep -E相当于egrep
  -F, --fixed-strings, --fixed-regexp:grep -F 相当于fgrep
  -G, --basic-regexp:基本的正则表达式,egrep -G 相当于grep
  -P, --perl-regexp:使用pcre(perl common regular expression)引擎;
  -A NUM, --after-context=NUM:在显示匹配pattern的行的同时显示其后面的num行;
  -B NUM, --before-context=NUM:在显示匹配pattern的行的同时显示其前面的num行;
  -C NUM, -NUM, --context=NUM:在显示匹配pattern的行的同时显示其前后各num行;
  pattern:
  正则表达式元字符:
  基本的正则表达式元字符:
  globbing--------简化版的正则表达式:[] ? *
  字符匹配:
  . :匹配任意单个字符;
  [] :匹配指定范围内的任意单个字符;
  [^] :匹配指定范围意外的任意单个字符;
  下列所有的字符集都可以放置于[]之中用于匹配单个字符;
  [:lower:]:表示所有小写字字母;
  [[:lower:]]:通配任意单个小写字母;
  [:upper:]:表示所有的大写字母;
  [[:upper:]]:通配任意单个大写字母;
  [:alpha:]:表示所有字母字符;
  [:digit:]:表示所有的十进制数字;    10
  [:alnum:]:表示所有的大小写字母以及十进制数字;
  [:space:]:表示空白字符;
  [:punct:]:表示所有的标点符号;
  [:blank:]:表示空白字符;
  [:xdigit:]:所有的十六进制数字;
  a-z:所有的小写字母;
  A-Z:所有的大写字母;
  0-9:所有的十进制数字;
  次数匹配:该类字符之前的那个字符可以出现的字数;
  *:其前面的字符可以出现任意次(0次,1次或多次);
  \?:其前面的字符可有可无(0次或1次);
  \+:其前面的字符至少出现一次(1次或多次);
  \{m\}:其前面的字符必须出现m次;
  \{m,n\}:其前面的字符至少出现m次,至多出现n次;(m

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-556889-1-1.html 上篇帖子: 通过shell脚本实现对oracle RMAN备份集压缩并异地备份 下篇帖子: #7 shell脚本编程之bash运算和条件测试命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表