现在的位置: 首页 > 综合 > 正文

Linux与Unix Shell编程指南 读书笔记 (3) 正则表达式与grep

2017年03月12日 ⁄ 综合 ⁄ 共 858字 ⁄ 字号 评论关闭

第六章  命令执行顺序

1. &&
    cmd1 && cmd2  左边的cmd1执行成功才执行cmd2

2. ||
    cmd1 || cmd2  左边的cmd1执行失败才执行cmd2

3. () {} 
    (cmd1;cmd2;...) 在当前shell中执行一组命令。
     {cmd1;cmd2;...}  在子shell中执行一组命令。

第七章  正则表达式

基本元字符集及其含义
  ^               只匹配行首
  $               只匹配行尾
  []              匹配其中字符序列范围内的字符
  *               匹配前面字符出现个任意次
  \               转义
  .               匹配任意单字符
  pattern\{n\}    匹配pattern出现次数,为n次
  pattern\{n,\}   出现次数最少为n
  pattern\{n,m\}  出现次数在n m 之间

第八章  grep

  grep格式  grep[选项] “正则表达式” [文件]
   选项  
    -c  输出匹配的总行数
    -i  不区分大小写(只用于单字符)
    -h  查询多文件时不显示文件名
    -l  查询多文件时只输出包含匹配字符的文件名
    -n  显示匹配行及行号
    -s  没有匹配结果时不显示出错信息
    -v  显示不包含匹配文本的所有行

    精确匹配。 如查找48,但不要483,可以 $ grep '48\>' data
    不匹配行首。  $ grep '^[^48]' data
    匹配多个条件。 可以使用管道 |
    空行。   '^$'
    特殊字符。 如 $.'"8[]^|\+?等使用前加\转义
    类名。
      [[:upper:]]   =   [A-Z]
      [[:lower:]]       [a-z]
      [[:digit:]]       [0-9]
      [[:alnum:]]       [0-9a-zA-Z]
      [[:space:]]       空格或tab
      [[:alpha:]]       [a-zA-Z]

    egrep. 扩展grep
       可以将一个文件作为匹配条件。需要使用-f开关。

        如:$ egrep -f str data     其中str可以包含多个字符串

抱歉!评论已关闭.