• How To Make Cscope Database by Shell


    How To Make Cscope Database by Shell

    1 key point - find

    # expr1 -o expr2
    #   Or; expr2 is not evaluated if expr1 is true.
    
    # expr1 expr2
    #   Two expressions in a row are taken to be joined with an  implied
    #   "and"; expr2 is not evaluated if expr1 is false.
    
    # expr1 -a expr2
    #   Same with expr1 expr2
    
    # -print
    #    True; print the full file name on the standard output, followed
    #    by a newline. If  you  are  piping  the output of find into
    #    another program and there is the faintest possibility  that  the
    #    files  which you are searching for might contain a newline, then
    #    you should seriously consider using the -print0  option  instead
    #    of  -print. 
    
    # -path pattern
    #    To  ignore  a whole directory tree, use -prune rather
    #    than checking every file in the tree.  For example, to skip  the
    #    directory  `src/emacs'  and  all files and directories under it,
    #    and print the names of the other files found, do something  like
    #    this:
    #           find . -path ./src/emacs -prune -o -print
    #    It  would  only  make sense to use an absolute path name here if
    #    the relevant start point is also an absolute path.
    

    2 shell code

    CSCOPE_NAME=cscope.files
    
    find . 
         -path "./.git" -prune -o 
         -path "./target" -prune -o 
         -path "./tftp" -prune -o 
         -name "*.[ch]" -o 
         -name "*.cpp" -o 
         -name "*.hh" -o 
         -name "*.[sS]" -o 
         -name "Makefile" -o 
         -name "*.[mM][kK]" -o 
         -name "*.make" -o 
         -name "[Cc]onfigure" -o 
         -name "*.conf" -o 
         -name "*.config" -o 
         -name "*.cfg" -o 
         -name "*.sh" -o 
         -name "*.py" 
          > "$CSCOPE_NAME"
    
    if [ -f "$CSCOPE_NAME" ]; then
        cscope -Rbk -i "$CSCOPE_NAME"
    fi
    

    Created: 2015-09-09 Wed 22:52

  • 相关阅读:
    基于NFS共享存储实现KVM虚拟主机动态迁移
    基于mysqld_multi实现MySQL 5.7.24多实例多进程配置
    LVS负载均衡实现双向设备
    基于Haproxy构建负载均衡集群
    基于Haproxy+Keepalived构建高可用负载均衡集群
    nginx与keepalived实现高可用
    直接路由模式(LVS-DR)
    Tomcat多实例配置
    Tomcat 安全优化
    基于 Jenkins + Git 项目 中Git主机的 安装配置
  • 原文地址:https://www.cnblogs.com/aqing1987/p/4796276.html
Copyright © 2020-2023  润新知