主要功能:
查找某个目录下面的特定文件, 执行特定的操作, 目前的常用的是查找某些类型的源代码中某些定义.
clear;FINDPATH="include src";FINDSTR="XXX";RUNCMD="grep -nH ${FINDSTR} {}";find ${FINDPATH} -name "*.h" -exec ${RUNCMD} \; -o -name "*.cpp" -exec ${RUNCMD} \; -o -name "*.hpp" -exec ${RUNCMD} \; -o -name "*.xxx" -exec ${RUNCMD} \; |
clear;FINDPATH="include src";FINDSTR="XXX";RUNCMD="grep -nH ${FINDSTR} {}";find ${FINDPATH} -name "*.h" -exec ${RUNCMD} \; -o -name "*.cpp" -exec ${RUNCMD} \; -o -name "*.hpp" -exec ${RUNCMD} \; -o -name "*.xxx" -exec ${RUNCMD} \;
其中:
FINDPATH: 为需要查找的目录.
RUNCMD: 为需要针对找到的文件进行的处理操作. 其中找到的文件名使用"{}"来引用.
-name "*.h" 指定查找文件的正则表达式.
-o: 用于指定多个查找条件和执行的命令, 当然这里是指定多种文件h,cpp,hpp,c等. 需要注意的是有多个条件其执行的命令都需要写一遍每个条件都需要加上"\;" 注意的"\;"前后必须有空格.(有经验教训没有空格结果查了好久)
几个常用的:
1: 查找*.h,*.c,*.hpp,*.cpp
clear;FINDPATH="include src";FINDSTR="XXX";RUNCMD="grep -nH ${FINDSTR} {}";find ${FINDPATH} -name "*.h" -exec ${RUNCMD} \; -o -name "*.c" -exec ${RUNCMD} \; -o -name "*.hpp" -exec ${RUNCMD} \; -o -name "*.cpp" -exec ${RUNCMD} \;