在Linux中,常常在Debug時要找字串,但是他可能又分在好多子目錄當中,而你也不知道到底在哪裡,這時候該怎辦??
------------------------------------------------------------------------------
假設我要在根目錄的所有子目錄下搜尋所有.c檔裡含有字串
” YinChenWang“ 的需求,下面有兩種方法:
1. $ sudo find / –name “*.c” -exec grep “YinChenWang” {} \;
2. $ sudo find / –name “*.c” | xargs grep “YinChenWamg”
說明:
- 法1:
他會根據 “/ “ 這個根目錄(包括所有子目錄)去尋找所有附檔名為.c
的檔案,接著後面的 –exec 與 最後面的 \; 是一體的,裡面包的就是
grep “YinChenWang” {} ,而{}裡面就是存放前面find所找到的所有.c檔,
這樣大概懂意思了嗎? 也就是說-exec \; 這中間包的東西可以很多
變化,例如你也可以使用rm或cp等等的搭配前面的find做不同應用,
想看更詳細請參考
鳥哥的Liunx 私房菜: http://linux.vbird.org/linux_basic/0220filemanager.php#find
的檔案,接著後面的 –exec 與 最後面的 \; 是一體的,裡面包的就是
grep “YinChenWang” {} ,而{}裡面就是存放前面find所找到的所有.c檔,
這樣大概懂意思了嗎? 也就是說-exec \; 這中間包的東西可以很多
變化,例如你也可以使用rm或cp等等的搭配前面的find做不同應用,
想看更詳細請參考
鳥哥的Liunx 私房菜: http://linux.vbird.org/linux_basic/0220filemanager.php#find
- 法2:
來當做你xargs後面所接的參數,以此例子來看,
find後輸出的結果將會透過xargs來提供給grep “YinChenWang”使用。
xargs的詳細說明請參考:
xargs 應用介紹: http://blog.yam.com/ddy1280/article/13941218
沒有留言:
張貼留言