• grep命令学习


    1.grep命令简介

        grep命令是Linux系统中非常强大的文本搜索工具,全名Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户.根据某种模式(Pattern)搜索文本,并将符合模式的文本行显示出来.其中模式:由文本字符和正则表达式的元字符组合而成的匹配条件.

     

    2.命令格式

       grep [options] PATTERN [FILE...]

    options选项:

       -i 忽略模式的大小写

       --color 用颜色标记

       -v  反向查找

       -o  只显示被模式匹配到的字符串

        -c  只输出匹配行的计数

       -n  显示匹配行及行号

       -v  显示不包含匹配文本的所有行

    PATTERN字段:

       正则表达式:

    • 匹配任意单个字符 "."     grep 'r..t' /etc/passwd
    • 匹配前一个字符任意次 "*"
    • 匹配任意长度的任意字符".*"    grep 'a.*b' /333/testre
    • 匹配前一个字符1次或者0次 “?"    grep 'a?b' /333/testre
    • 匹配前面字符至少n,至多m "{n,m}"    grep 'a{1,3}b' /333/testre

      

    • 位置定义为行首"^",    grep '^r..t' /etc/passwd
    • 位置定义为行尾"$",     grep 'w$'  /etc/initab
    • 空白行 "^$" ,    grep '^$'  /etc/fstab | wc -l
    • 匹配指定范围内的单个字符 ”[]"
    • 匹配指定范围外的单个字符 "[^]"
    • [[:digit:]] [[:lower:]] [[:upper:]] [[:space:]] [:alpha:]] [[:alnum:]]

    例如:匹配以空白字符+数字结尾的行?  grep '[[:space:]]*[[:digit:]]$' /etc/initab

    • 后边的任意字符作为单词首部出现 "<" 
    • 前边的任意字符作为单词首部出现 ">"
    • 分组内容 "()"    grep "(ab)*" /333/testre

    基本正则表达式:

    • 字符匹配: "." "[]" "[^]"
    • 次数匹配: "*" "?" "{m,n}" ".*"
    • 位置匹配: "^" "$" "<" ">" "" "() 1 2 3"

    扩展正则表达式:

        grep -E  / egrep

        次数匹配“*” “?” “+”其前字符至少一次  grep -E '^[[:space:]]+' /boot/grup/group.conf '

        "|"  或者  grep -E 'c|cat' /333/testre

    例子:找出/etc/networks中所有的1-255的整数

    grep -E --color '<([1-9] | [1-9][0-9] | 1[0-9][[0-9] | 2[0-4][0-9] | 25[0-5]' /etc/networks

      

  • 相关阅读:
    Windows Phone 7 Coding4Fun的弹出框来源:http://www.cnblogs.com/majian714/archive/2011/12/02/2272060.html
    jsp连接mysql的增删改操作
    各种数据库的比较
    jsp连接mysqlupdata操作
    jsp连接Mysql关键代码
    Duwamish学习笔记
    值类型和引用类型的区别
    Factory Method模式的学习
    实现事务的几种方法
    提高Dotnet应用程序性能的技巧
  • 原文地址:https://www.cnblogs.com/sixue/p/4195146.html
Copyright © 2020-2023  润新知