search脚本是集成find的文件查找及grep的文本搜索的功能。换言之,就是搜索指定文件中匹配的文本内容。由于find命名仅限于文件查找,而 grep命令只能搜索指定文件的文本,但是在实际操作中往往需要在未知的文件中搜索指定的文本内容。由此,find和grep的爱情结晶search便孕 育而生了。
闲话少说,直接附上脚本供大家使用,希望能给大家的日常工作提供些方便。
#!/bin/ksh
#
# FILE: search
# DESC: 查找指定字符串
#
# ORIG: Renzo.Liu
# DATE: 2010.05.19
#
#
usage()
{
echo
echo"Usage: search [-d 目录][-f 文件][-i][-w] <字符串>"
echo" -d: 指定搜索路径 <默认当前目录>"
echo" -f: 指定文件名 <默认"*.c">"
echo" -i: 忽略大小写"
echo" -w: 匹配单词"
echo
exit
}
# 默认路径
DOPTION="."
# 默认文件
FOPTION="*.c"
whilegetoptsd:f:iw OPTION
do
case${OPTION}in
d) DOPTION=${OPTARG} ;;
f) FOPTION=${OPTARG} ;;
i) IOPTION="-i";;
w) WOPTION="-w";;
?) usage ;;
esac
done>/dev/null2>&1
shift$(($OPTIND -1))
if[ -z"$1"];then
usage
fi
eval"find ${DOPTION} -name '${FOPTION}' | xargs grep ${IOPTION} ${WOPTION} '$1'"2>/dev/null
# End of search