为了在内核源代码中定位一个字符串,不会shell的我果断悲剧。
对比一下,不会shell的同志加油啦!
1)我自己写一个定位设立了:
#!/bin/sh
#列出源码下所有的头文件和有的源文件
KEY_WORD=$1
#echo ${key_word}
#获得当前目录
PWD=$(pwd)
#存储的文件
FILE_LOAD="${PWD}/find_tmp.txt"
FILE_RESULT="${PWD}/result_tmp.txt"
#得要当前目录下的所有文件
find ${PWD} >${FILE_LOAD}
#得到总共有多少文件
LINE_CNT=$( wc -l ${FILE_LOAD} | cut -d ' ' -f 1)
echo "LINE_CNT = ${LINE_CNT}"
for i in $(seq ${LINE_CNT})
do
LINE=$(sed -n "${i}p" ${FILE_LOAD})
if grep ${KEY_WORD} ${LINE}
then
echo ${LINE} >>${FILE_RESULT}
echo >>${FILE_RESULT}
echo >>${FILE_RESULT}
echo >>${FILE_RESULT}
fi
done
rm -f ${FILE_LOAD}
cat ${FILE_RESULT}
rm -f ${FILE_RESULT}
2)大牛指点就一句话:(情何以堪)
find ./* | xargs grep "keyword"