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

转载于:https://www.cnblogs.com/aqing1987/p/4796276.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值