由于工作需要背零,需要在Linux環(huán)境下進(jìn)行code的編寫。當(dāng)工程量大的時候赡鲜,很難找出某個字段出現(xiàn)在那些文件中睬塌,因此寫了一個shell腳本(文件名:search_tool.sh)進(jìn)行字段的查找。如昆庇,需要查找src目錄下含有字段"lht"的文件末贾,及所在的行,只需執(zhí)行命令:
search_tool.sh ./ lht
即可在當(dāng)前文件夾中生成文件search_result凰锡,此文件中就包含了所有的查找結(jié)果未舟。
如下為腳本文件的對應(yīng)code:
#!/bin/sh
if [ $# != 2 ]
then
echo "error args num!"
exit 1
fi
dir=$1
ref=$2
if [ ! -d "$dir" ]
then
echo "dir doesn't exit!"
exit 1
fi
if [ -f "./search_result" ]
then
rm ./search_result
fi
touch search_result
echo "search for ref : $ref" >> ./search_result
echo >> ./search_result
for cur_file in $(find "$dir" -name "*.h" -o -name "*.cc" -o -name "*.c")
do
count_searched=$(grep -c "$ref" $cur_file)
if [ "$count_searched" != "0" ]
then
echo "<-----------------------$cur_file----------------------------->" >> ./search_result
grep -n "$ref" $cur_file >> ./search_result
echo >> ./search_result
fi
done
exit 0