2010年7月29日 星期四

[Linux 常見問題] 如何利用 find 尋找含有特殊字串的檔案

前言 : 

在某些情況, 可能是在Coding C++時, 你需要從一堆 C++的檔案中快速找出含有/引入某個 頭文件的所有檔案, 這時你就可以利用 find + grep 的指令快速搜尋出來你要的結果.

使用範例 :
* 範例一 : 在前一層目錄裡, 找出含有/引入 "a.h" 的所有C 檔案(.c 的副檔名)
client:~/src/mk_sample # find .. -name "*.c" <找出前一層目錄下, .c 結尾的所有檔案>
../ex132.c
../mk_sample/main.c
../mk_sample/a.c
../mk_sample/b.c
client:~/src/mk_sample # find .. -name "*.c" | xargs grep -n a.h <找出前一層目錄, .c 結尾檔案有引入 a.h 的所有檔案>
../mk_sample/main.c:2:#include "a.h" <在 main.c 的第二行引入 a.h>
../mk_sample/a.c:1:#include "a.h"

補充說明 :
[Linux 小學堂] 參數代換 : xargs
[Linux 命令] find : 尋找特定字串的檔案或目錄
[Linux 命令] grep : 搜尋檔案中符合條件的字串

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...