linux find prune排除某目錄或檔案

2022-08-18 20:42:25 字數 2354 閱讀 4589

查詢cache目錄下不是html的檔案

find ./cache ! -name '*.html' -type f

列出當前目錄下的目錄名,排除includes目錄,後面的-print不能少

find . -path './includes' -prune -o -type d -maxdepth 1 -print

排除多個目錄,」(「前是帶」\」的

find / \( -path /home/ -o -path /root \) -prune -nouser -type f -exec ls -l {} \;

比如要在/usr/sam目錄下查詢不在dir1子目錄之內的所有檔案

find /usr/sam -path "/usr/sam/dir1" -prune -o -print

find [-path ..] [expression] 在路徑列表的後面的是表示式

-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o -print 的簡寫表示式按順序求值, -a 和 -o 都是短路求值,與 shell 的 && 和 || 類似如果 -path "/usr/sam" 為真,則求值 -prune , -prune 返回真,與邏輯表示式為真;否則不求值 -prune,與邏輯表示式為假。如果 -path "/usr/sam" -a -prune 為假,則求值 -print ,-print返回真,或邏輯表示式為真;否則不求值 -print,或邏輯表示式為真。

這個表示式組合特例可以用偽碼寫為

if -path "/usr/sam" then

-prune

else

-print

避開多個資料夾

find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print

圓括號表示表示式的結合。

\ 表示引用,即指示 shell 不對後面的字元作特殊解釋,而留給 find 命令去解釋其意義。

查詢某一確定檔案,-name等選項加在-o 之後

#find /usr/sam \(-path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -name "temp" -print

linux下的常用命令find,加上不同的引數,可以使你很容易的找到需要的檔案,但是有些時候,你在查詢檔案的同時,可能不需要在某資料夾下查詢,這時候-prune就用上了。

比如在當前目錄下尋找pl字尾的檔案,不在scripts下尋找。

find . -path './scripts' -prune -o -name '*.pl' -print

比如要在/usr/sam目錄下查詢不在dir1子目錄之內的所有檔案

find /usr/sam -path "/usr/sam/dir1" -prune -o -print

find [-path ..] [expression] 在路徑列表的後面的是表示式

-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o -print 的簡寫表示式按順序求值, -a 和 -o 都是短路求值,與 shell 的 && 和 || 類似如果 -path "/usr/sam" 為真,則求值 -prune , -prune 返回真,與邏輯表示式為真;否則不求值 -prune,與邏輯表示式為假。如果 -path "/usr/sam" -a -prune 為假,則求值 -print ,-print返回真,或邏輯表示式為真;否則不求值 -print,或邏輯表示式為真。

這個表示式組合特例可以用偽碼寫為

if -path "/usr/sam" then

-prune

else

-print

避開多個資料夾

find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print

圓括號表示表示式的結合。

\ 表示引用,即指示 shell 不對後面的字元作特殊解釋,而留給 find 命令去解釋其意義。

查詢某一確定檔案,-name等選項加在-o 之後

#find /usr/sam \(-path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -name "temp" -print

快排和堆排

一 快速排序 最常用的排序演算法,速度通常也是最快的。時間複雜度 o nlogn 最壞 o n 2 空間複雜度 o nlgn 不穩定 比如 5 3 3 4 3 8 9 10 11 這個序列,在中樞元素5和3交換就會把元素3的穩定性打亂 實現原理 快排主要是通過選擇乙個關鍵值作為基準值。比基準值小的都...

快排 歸併 堆排

快排 include include include includeusing namespace std void quicksort vector a,int l,int r 終止遞迴的條件,子串行長度為1 int mid low high low 2 取得序列中間的元素 mergesort a...

快排與堆排

本文複習一下快速排序和堆排序 2 種排序演算法 為了多快好省地刷 leetcode 主要思想 通過一趟排序將要排序的資料分割成獨立的兩部分,其中一部分的所有資料都比另外一部分的所有資料都要小,然後再按此方法對這兩部分資料分別進行快速排序,整個排序過程可以遞迴進行,以此達到整個資料變成有序序列。時間複...