A utility to search the LLVM source tree for a grep pattern. This is a

replacement for getsrcs.sh which now generates too much text to put on a
Linux command line. The approach taken with llvmgrep is to execute a find
command and execute a grep on each file that matches the name pattern. The
arguments to this script are the same as those of egrep. Note that the -H
and -n options to egrep will always be passed so that you always get the
file and line number of matches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14255 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2004-06-19 20:32:55 +00:00
parent 56b7ee20da
commit 2d67208306

22
utils/llvmgrep Executable file
View File

@ -0,0 +1,22 @@
#!/bin/sh
# This is useful because it prints out all of the source files. Useful for
# greps.
PATTERN=$*
TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'`
if test -d "$TOPDIR" ; then
cd $TOPDIR
find docs include lib tools utils projects -type f \
\( -path '*/doxygen/*' -o -path '*/Burg/*' \) -prune -o \
-name '*.[cdhyl]*' \
\! -name '*~' \
\! -name '#*' \
\! -name '*.ll' \
\! -name '*.d' \
\! -name '*.dir' \
\! -name 'Sparc.burm.c' \
\! -name 'llvmAsmParser.cpp' \
\! -name 'llvmAsmParser.h' \
\! -name 'FileParser.cpp' \
\! -name 'FileParser.h' \
-exec egrep -H -n $PATTERN {} \;
fi