linux中find怎么不查找指定子目錄
在Linux中,可以利用find命令的“-prune”參數(shù)使find在查找文件時(shí)不查找指定子目錄,find命令用來(lái)在指定目錄下查找文件,當(dāng)參數(shù)設(shè)置為“-prune”時(shí)可以進(jìn)行過(guò)濾,只需將要忽略的路徑參數(shù)必須緊跟著搜索的路徑之后,否則該參數(shù)無(wú)法起作用,語(yǔ)法為“find 搜索路徑 -path 不查找的子目錄路徑 -prune...”。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux中find怎么不查找指定子目錄
在Linux find 進(jìn)行查找的時(shí)候,有時(shí)候需要忽略某些目錄不查找,可以使用 -prune 參數(shù)來(lái)進(jìn)行過(guò)濾,但必須要注意要忽略的路徑參數(shù)必須緊跟著搜索的路徑之后,否則該參數(shù)無(wú)法起作用。
示例如下:
以下是指定搜索/home/carryf目錄下的所有文件,但是會(huì)忽略/home/carryf/astetc的路徑:
find /home/carryf -path "/home/carryf/astetc" -prune -o -type f -print
如果按照文件名來(lái)搜索則為:
find /home/carryf -path "/home/carryf/astetc" -prune -o -type f -name "cdr_*.conf" -print
如果要忽略兩個(gè)以上的路徑如何處理?
find /home/carryf ?path"/home/carryf/astetc"?o?path"/home/carryf/etc" -prune -o -type f -print find /home/carryf ?path"/home/carryf/astetc"?o?path"/home/carryf/etc" -prune -o -type f -name "cdr_*.conf" -print
注意和 前后都有空格。
查找某個(gè)文件包含內(nèi)容,下面這個(gè)語(yǔ)句可以解決目錄帶空格的問(wèn)題:
find ./ -name "MySQL*" -print0 |xargs -0 grep "SELECT lead_id FROM vicidial_list where vendor_lead_code"
如果目錄不帶空格,那么可以如下面的形式執(zhí)行:
find ./ -name "mysql*" |xargs grep "SELECT lead_id FROM vicidial_list where vendor_lead_code"
擴(kuò)展知識(shí)
Linux find 命令用來(lái)在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時(shí),不設(shè)置任何參數(shù),則 find 命令將在當(dāng)前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進(jìn)行顯示。
語(yǔ)法
find path -option [ -print ] [ -exec -ok command ] {} ;
參數(shù)說(shuō)明 :
find 根據(jù)下列規(guī)則判斷 path 和 expression,在命令列上第一個(gè) - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預(yù)設(shè) expression。
expression 中可使用的選項(xiàng)有二三十個(gè)之多,在此只介紹最常用的部份。
-mount, -xdev : 只檢查和指定目錄在同一個(gè)文件系統(tǒng)下的文件,避免列出其它文件系統(tǒng)中的文件
-amin n : 在過(guò)去 n 分鐘內(nèi)被讀取過(guò)
-anewer file : 比文件 file 更晚被讀取過(guò)的文件
-atime n : 在過(guò)去 n 天內(nèi)被讀取過(guò)的文件
-cmin n : 在過(guò)去 n 分鐘內(nèi)被修改過(guò)
-cnewer file :比文件 file 更新的文件
-ctime n : 在過(guò)去 n 天內(nèi)創(chuàng)建的文件
-mtime n : 在過(guò)去 n 天內(nèi)修改過(guò)的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱是 name
-ipath p, -path p : 路徑名稱符合 p 的文件,ipath 會(huì)忽略大小寫(xiě)
-name name, -iname name : 文件名稱符合 name 的文件。iname 會(huì)忽略大小寫(xiě)
-size n : 文件大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個(gè)位元組。
-type c : 文件類型是 c 的文件。
推薦學(xué)習(xí):Linux視頻教程
以上就是linux中find怎么不查找指定子目錄的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!
版權(quán)聲明:
本站所有文章和圖片均來(lái)自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系網(wǎng)站客服處理。