• Linux grep 命令


    Linux grep 命令 https://www.runoob.com/linux/linux-comm-grep.html
    grep命令_Linux grep命令:文本搜索工具(可使用正则表达式)http://c.biancheng.net/linux/grep.html

    在linux系统中可通过man grep命令查看帮助文档

    Linux grep 命令用于查找文件里符合条件的字符串。返回的是包含该字符串的行。

    grep [-参数] 条件 文件或目录

      条件可以是:

      • 被查找的字符串
      • 正则表达式

      参数

      • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一行之外,显示该行之后的内容。
      grep -A num text filename
        • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,显示该行之前的内容。
        grep -B num text filename
          • -c 或 --count : 返回计算的符合样式的行数
          grep -c text filename
            • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后num行的内容。
            grep -C num text filename

              -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
              -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
              -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
              -F 或 --fixed-regexp : 将样式视为固定字符串的列表。
              -G 或 --basic-regexp : 将样式视为普通的表示法来使用。

              • -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。(默认不标示)
              grep -h text filename
                • -H 或 --with-filename : 在显示符合样式的那一行之前,标示该行所属的文件名称。
                grep -H text filename
                ## 返回
                filename: text所在行内容
                • 1
                • 2
                • -i 或 --ignore-case : 忽略字符大小写的差别。
                grep -i Text filename
                ## 返回
                text所在行内容
                Text所在行内容
                • 1
                • 2
                • 3

                🐖 grep 命令可以一次搜索很多个文件
                -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。

                grep -l "text" *filename

                  -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。

                  grep -L "text" *filename
                    • -n 或 --line-number : 在显示符合样式的那一行之前,并标示出该行的行号。
                    grep -n text filename
                    ## 返回
                    num: text所在行内容
                    • 1
                    • 2
                    • -o 或 --only-matching : 只显示匹配PATTERN 部分(单词)。
                    grep -o text filename
                    ## 返回
                    text
                    text
                    • 1
                    • 2
                    • 3

                    -q 或 --quiet或–silent : 不显示任何信息。
                    -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
                    -s 或 --no-messages : 不显示错误信息。

                    • -v 或 --invert-match : 显示不包含匹配文本的所有行。
                    grep -v text filename
                      • -V 或 --version : 显示版本信息。
                      grep -V
                      ## 返回
                      grep版本信息
                      • 1
                      • 2

                      -w 或 --word-regexp : 只显示全字符合的行。

                      grep -w "text" filename
                      #等价于 grep "\<text\>" filename
                      • 1

                      -x --line-regexp : 只显示全列符合的列。
                      -y : 此参数的效果和指定"-i"参数相同。

                      • egrep 的多条件查找
                       egrep '^root|bash$' filename
                       # 等价于grep -e '^root|bash$' filename
                      • 1
                    • 相关阅读:
                      【Redis】关于过期数据清除的一些策略
                      初级软件测试面试题哪里可以刷?新发现的这个在线题库,值得一试
                      使用 Python 函数callable和isinstance的意义
                      ES6知识查漏补缺(Math对象,作用域,Object.is())
                      echarts图例过长翻页
                      Kafka 生产者解析
                      镜头下的光学
                      利用信号量semaphore实现两个进程读写同步 Linux C
                      并发容器(Map、List、Set)实战及其原理
                      MySQL之分库分表(二)实践
                    • 原文地址:https://blog.csdn.net/qq_40855100/article/details/124649354