• Linux-grep 命令和find 命令 (6)


    grep与find区别:

    grep:查找指定目录下过滤文本文件中行数据

    find:查找指定目录下文件 

    grep使用

    格式:   grep "text"   *  [选项]

    选项:

    • -A num, --after-context=num: 在结果中同时输出匹配行之后的num行
    • -B num, --before-context=num: 在结果中同时输出匹配行之前的num行,有时候我们需要显示几行上下文。
    • -i, --ignore-case: 忽略大小写
    • -n, --line-number: 显示行号
    • -R, -r, --recursive: 递归搜索子目录
    • -v, --invert-match: 输出没有匹配的行
    • -w :只显示全字符合的列,例如搜索"CONFIG_DM9000",就不会出现"CONFIG_DM9000_BASE"字段
    • -x  :只显示全列符合的列

    实例:

    grep "33F80000" * -nR                //递归地查找当前目录下所有文件中带"33F80000"行的数据,并显示出来

    如下图所示:

    grep "-pie" * -nR            //递归查找当前目录下所有文件,带有"-pie"一行的代码

    如果想递归查找该目录下指定文件名称的内容,用--include:

    grep  "config"  . -R --include=*config        // --include表示只在后缀名config文件文件名里找
     grep  "config"  . -R --include=*{config,.c}   //只在后缀名config 和*.c文件名中寻找"config"内容

    如果想搜索某个不指定文件名的内容时,用-exclude:

    grep  "config"  . -R --exclude=*{config,.c}        //递归寻找config字段,并排除掉config和*.c后缀名的文件

    也可以使用ag命令 ,输入的字数更短.比如:  ag  "-pie"

    find使用

    格式:    find   [选项]    text   

    常用选项:

    -name  : 查找文件名

    实例:

     find  -name   Makefile                        //查找当前目录下Makefile文件
     find /work  -name  start.c                   //查找指定目录/work/下start.c文件
     find  -name   boot*                          //查找当前目录下带boot开头的所有文件(就能找到boot.c,boot.o,boot.bin等)
     find  -name   *boot                          //查找当前目录下名字中带有boot的所有文件 ,*:表示通配符,*boot就是通配所有包含boot的内容
     find -name   *.c                             //查找当前目录下所有.c文件 
    find ./ -print                   // -print :打印数据

      

  • 相关阅读:
    linux find 命令用法
    在linux下使用libsvm
    利用merge sort寻找逆序对
    merge sort
    int与Integer的区别
    java 的回调函数
    weka的libsvm使用
    mysql 常用基准测试工具
    Drupal的taxonomy_manager模块合并分类的方法
    Sphinx数据源配置的一些注意点
  • 原文地址:https://www.cnblogs.com/lifexy/p/7160677.html
Copyright © 2020-2023  润新知