o2cgrep工具搜索被编译为".o"的C文件

Bash shell 脚本ssenv.sh 生成工具 o2cgrep
使用方法如下:

$ o2cgrep   "USB_HOST"

function o2cgrep()
{
#   Complile Linux kernel first, and then find "*.o" file.
#   Replace "*.o" to "*.c".
#   Set O_OBJECTS value.
    O_OBJECTS=$(find ./ -name "*.o" |sed -e s/"\.o"/"\.c"/)


    touch data.txt
#   Filter out the valid C source files in $O_OBJECTS
    for i in $O_OBJECTS
    do  
#       if C source file is not exist, pass it.
        if [ ! -e $i ]; then
            continue;
        fi


#       Put the C source file into a temp data file "data.txt" with ADD-IN.
        echo " $i" >> data.txt
    done


#   Get out all C valid source file and evaluate $C_OBJECTS.
    C_OBJECTS=$(cat data.txt)
#   Delete the temp file "data.txt"
    rm -rf data.txt


#   Grep the string input "$@" in all C source file in $C_OBJECTS
    grep -nr --color "$@" $C_OBJECTS
}

你可能感兴趣的:(linux)