findclass는 Linux나 Unix쪽에서 자바 개발할때 자주 사용하는 shell입니다.

2011-03-16: 

사용예는 다음과 같습니다.

- "findclass . String" 와 같이 사용하면 현재 폴더의 결과를 표시합니다.

[그림]java 경로에서 String을 찾은 결과



아래는 소스입니다.
#!/bin/sh
# by jenix

if [ $# -ne 2 ]
then
echo "Usage: findclass <target directory> <class name>"
exit
fi

targetDIR="$1"
targetCLASS="$2"
result=

filelist=`ls $targetDIR`

if [ $? -ne 0 ]
then
echo "invalid target directory - fullpath required"
exit
fi

cd $targetDIR

for file in $filelist
do
check=`echo $file | awk '/jar$/'`
if [ -n "$check" ]
then
echo "[searching in $file]"
class=`jar tf $file | grep $targetCLASS`
if [ -n "$class" ]
then
if [ -z "$result" ]
then
resultFS=""
fi
result="${result}${resultFS}${file} ${class}"
resultFS=":"
fi
fi
done

echo "\n*-- RESULT "

IFS=":"

for item in $result
do
echo "$item" | awk 'BEGIN{ FS=" " }{ print " " $1 ": " $2 }'
done


Posted by 지영아빠

티스토리 툴바