遍歷指定目錄下所有C++源代碼:
這麼寫:
find /home/goodorc/mayao/RakNet_working/DependentExtensions/ -name "*.cpp" -o -name "*.h" -o -name "*.c" -o -name "*.cc"
寫這篇博客的原因是:我發現如果這麼寫:
find PATH -name *.cpp
就只能查找到這一級目錄下的cpp文件,不會查找子目錄,非常奇怪,原因沒搞清楚。先記在這裡。PS:像上面那樣用引號擴起來就ok了
find和CSCOPE配合使用:
cscope默認不支持C++,所以可以用find命令生成源文件列表,用 cscope -bkq -i filename 讓cscope生成索引文件。注意兩點:
1、這種情況下務必使用絕對路徑進行find,避免cscope在vim裡跳轉的時候找不到目錄。
2、find命令的結果並沒有對文件名中的空格進行轉義,所以遇到特殊字符的文件,需要把整個路徑用引號擴起來。我喜歡用vim這麼做:
VI指令:%s/^\|$/"/g
意思是把每行開頭和結尾替換為引號