• Shell-04


    1. grep程序

    Linux下文本处理三剑客-----grep sed awk

            sed:文本行编辑器(流编辑器)

           awk:报告生成器(文本输出格式化)

            grep:文本行过滤工具  每一行进行过滤

                   pattern一般通过通配符和正则表达式两种方式进行匹配

                   包含三个命令:grep egrep fgrep,它们是用来进行 行模式(pattern)匹配的

                   Egrep = grep -E //使用扩展的正则表达式

                   Fgrep = fast grep //只使用文件通配符进行匹配 快速文件匹配 不调用正则表达式引擎

            grep的用法:

             grep [option] … PATTERN [filename]

                   A*  以A开头的任意文件 *---代表任意字符

                   *grep默认使用正则表达式进行文本匹配*

            grep常见选项:

                   -E 支持使用扩展的正则表达式(ERE)regexp

                   -P 使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed、grep、awk使用的正则表达式引擎也不相同)

                   -i 忽略大小写

                   -v 进行反选

                   -o 仅仅输出匹配的内容(默认输出的是匹配到的行)

                   --color=auto 语法着色

                  -n 显示行号

                   -w 匹配固定的单词

    1. 正则表达式----正则表达式PATTERN

    作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身的含义,就需要进行转义()

    回顾文件通配符:* ? [] [^ ]

    a)       字符匹配

    . 代表任意一个字符==?

    [] 范围内的任意一个字符

    [^ ] 范围外的任意一个字符

    字符类:[:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]

    b)       次数匹配

    * 匹配前面相邻的一个字符0次到n次 n—无数次

    ? 匹配前面相邻的一个字符0次到1次

    + 匹配前面相邻的一个字符1次到n次

    {m} 匹配前面相邻的一个字符m次

    {m,n} 匹配前面相邻的一个字符m到n次

    {0,n} 匹配前面相邻的一个字符0次到n次

    {m,}  匹配前面相邻的一个字符至少m次

    c)       位置锚定

    ^ 锚定行首

    $ 锚定行尾

     锚定单词词首和锚定词尾

    > 锚定词尾

    < 锚定词尾

    < oot> --- 匹配root这个单词

    d)       分组

    abc*----c出现0-n次

    abc看作整体,就要分组

           () 实例:(abc)* abcabcabc…

           **分组特性:默认情况下,linux系统会为分组指定变量,变量的表示形式1 2 3…..

                 

    1.grep -i “^s” /pro

    2.grep -v “/b$” /e

    3.sort -n -t: -k3 /etc/passwd | tail -1 | cut -d: -f1

    4.alias grep =”grep “^root>”  --color=auto”

      grep “^root>” /etc/passwd | cut -d: -f7

    grep “^root>” /etc/passwd &> /dev/null && grep “^root>” /etc/passwd &> /dev/null | cut -d: -f7

    id root &> /dev/null && grep “^root>” /etc/passwd &> /dev/null | cut -d: -f7

    5.grep “[0-9]{2,3}” /etc/passwd

    grep -w “[0-9]{2,3}>” /etc/passwd

    grep “<[0-9]{2,3}>”  /etc/passwd

     

    /etc/rc.d/rc.sysinit-------centos7没有文件

    6. grep “^[[:space:]]+ .*[^[:space:]]$” /etc/rc.d/rc.sysinit

    7.netstat -tan  ----- -t tcp -n

      netstat -tan | grep “LISTEN[[:space:]]*$”

     8.

     -s指定用户使用的

     

    grep “^(bash).*1$” /etc/passwd

    grep “^(bash)>.*1$” /etc/passwd

     

    grep “(^[[:alnum:]]+>).*1$”  /etc/passwd

    9.IP地址:

           0-255.0-255.0-255.0-255

           0-255

           2 0-4 0-9  2[0-4][0-9]

           2 5 0-5   25[0-5]

           1 0-9 0-9  1[0-9][0-9]

           0 0-9 0-9  [0-9][0-9]

           0 0  0-9  [0-9]

    2[0-4][0-9] | 25[0-5] | 1[0-9][0-9] | [0-9][0-9] | [0-9] . 2[0-4][0-9] | 25[0-5] | 1[0-9][0-9] | [0-9][0-9] | [0-9] . 2[0-4][0-9] | 25[0-5] | 1[0-9][0-9] | [0-9][0-9] | [0-9] . 2[0-4][0-9] | 25[0-5] | 1[0-9][0-9] | [0-9][0-9] | [0-9]

     

  • 相关阅读:
    python子网拆分IP段
    动画制作库tween样例学习
    npm淘宝镜像
    nodejs webpack json 大文件,编译,out of memory
    python处理经过gzip压缩的网页内容
    判断百度某一经纬度的地图颜色值python
    考试总结及注意事项
    2152:聪聪可可(点分治)
    3687: 简单题(bitset)
    4514: [Sdoi2016]数字配对
  • 原文地址:https://www.cnblogs.com/KAJIA1/p/11350901.html
Copyright © 2020-2023  润新知