1. 查詢所有".h"檔案
find /path -name "*.h"
2. 查詢所有".h"檔案中的含有"helloworld"字串的檔案
find /path -name "*.h" -exec grep -in "helloworld" {} \;
find /path -name "*.h" | xargs grep -in "helloworld"
3. 查詢所有".h"和".c"檔案中的含有"helloworld"字串的檔案
find /path /( -name "*.h" -or -name "*.c" /) -exec grep -in "helloworld" {} \;
4. 查詢非備份檔案中的含有"helloworld"字串的檔案
find /path /( -not -name "*~" /) -exec grep -in "helloworld" {} \;
注:/path
為查詢路徑,預設為當前路徑。帶-exec引數時必須以\;結尾,否則會提示「find: 遺漏「-exec」的引數」。
使用find和xargs
1. find pathname -options [-print -exec -ok]
-optinos
1)-name:按照檔名查詢
find ~ -name 「*.txt」 -print
find ~ -name 「[a-z][0-9].txt」 -print
2)-perm:按照許可權查詢檔案
find ~ -perm 755 -print 查詢許可權為755的檔案
find ~ -perm 007 -print 查詢o位置上具有7許可權的檔案
find ~ -perm 4000 -print 查詢具有suid的檔案
3)-prune
不在當前目錄下查詢
4)-user和-nouser
find ~ -user zhao -print 查詢檔案屬主是zhao的檔案
find ~ -nouser -print 查詢檔案屬主已經被刪除的檔案
5)-group和-nogroup
find ~ -group zhao -print 查詢檔案群組是zhao的檔案
6)按照時間
find ~ -mtime -5 -print 檔案更改時間在5天內的檔案
find ~ -mtime +3 -print 檔案更改時間在3天前的檔案
find ~ -newer file1 -print 查詢比檔案file1新的檔案
7)按照型別查詢
find ~ -type d -print 查詢所有目錄
8)按照大小
find ~ -size +1000000c -print 查詢檔案大小大於1000000位元組(1m)的檔案
9)查詢位於本檔案系統裡面的檔案
find / -name 「*.txt」 -mount -print
-exec,-ok:find命令對於匹配檔案執行該引數所給出shell命令,相應命令形式為: 『command』 {} \;
-ok 在執行命令前要確認
find ~ -type f -exec ls -l {} \;
find / -name 「*.log」 -mtime +5 -ok rm {} \;
find . -name core -exec rm {} \;
使用-x dev引數
防止find搜尋其他分割槽
find . -size 0 -exec rm {} \;
刪除尺寸為0的檔案
2. xargs與-exec功能類似
find ~ -type f | xargs ls -l
find / -name 「*.log」 -type f -print| xargs grep -i db0
find . -type f |xargs grep -i 「mary」
在所有檔案中檢索字串mary
ls *~ |xargs rm -rf
刪除所有以~結尾的檔案
svn過濾svn資料夾
1.使用管道進行雙層「過濾」,其中第二次grep使用了-v選項,即逆向匹配,列印出不匹配的行
grep -r 'function_name' * | grep -v '.svn'
2.或者更簡單一些,直接使用--exclude-dir選項,即指定排除目錄,注意svn前的\.
grep -r --exclude-dir=\.svn 'function_name' *
grep多個過濾條件
1、或操作
grep -e '123|abc' filename
// 找出檔案(filename)中包含123或者包含abc的行
egrep '123|abc' filename
// 用egrep同樣可以實現
awk '/123|abc/' filename
// awk 的實現方式
2、與操作
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。
3、其他操作
grep -i pattern files :不區分大小寫地搜尋。預設情況區分大小寫,
grep -l pattern files :只列出匹配的檔名,
grep -l pattern files :列出不匹配的檔名,
grep -w pattern files :只匹配整個單詞,而不是字串的一部分(如匹配『magic』,而不是『magical』),
grep -c number pattern files :匹配的上下文分別顯示[number]行,
find過濾svn資料夾
find -type f ! -path '*/.svn/*'
linux find grep組合使用
顯示檔名 find name jsp exec grep with filename in 人保 1.查詢所有 h 檔案 find path name h 2.查詢所有 h 檔案中的含有 helloworld 字串的檔案 find path name h exec grep in helloworl...
Linux find grep 正則 通配
grep find在指定目錄下查詢檔案。匹配檔名 amin 查詢 在指定時被 訪問過的檔案或目錄 分鐘 cmin,mmin atime 查詢在指定時間訪問過的檔案或目錄 天 ctime,mtime expty 尋找檔案大小為0 byte的檔案,或目錄下沒有任何子目錄或檔案的空目錄 name 按照檔名...
組合關係與組合模式
物件a包含物件b,物件b離開物件a沒有實際意義。是一種更強的關聯關係。人包含手,手離開人的軀體就失去了它應有的作用。場景 window窗體由滑動條slider 頭部header 和工作區panel組合而成。將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使...