Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> 關於Linux >> Linux下使用find命令查找文件如何忽略某些目錄

Linux下使用find命令查找文件如何忽略某些目錄

日期:2017/1/25 10:54:00      編輯:關於Linux

  在進行Linux命令操作的時候,有時會搜索出許多目錄,而這些目錄又不是我們所需要的,這時就可以將其忽略。下面小編就教大家如何使用find命令忽略子目錄。

 Linux下使用find命令查找文件如何忽略某些目錄

  使用find命令在linux系統中查找文件時,有時需要忽略某些目錄,可以使用 -prune 參數來進行過濾。

  不過必須注意:要忽略的路徑參數要緊跟著搜索的路徑之後,否則該參數無法起作用。

  例如:指定搜索/home/zth目錄下的所有文件,但是會忽略/home/zth/astetc的路徑:

  代碼如下:

  find /home/zth -path “/home/zth/astetc” -prune -o -type f -print

  按照文件名來搜索則為:

  代碼如下:

  find /home/zth -path “/home/zth/astetc” -prune -o -type f -name “cdr_*.conf” -print

  要忽略兩個以上的路徑如何處理?

  代碼如下:

  find /home/zth /( -path “/home/zth/astetc” -o -path “/home/zth/etc” /) -prune -o -type f -print

  find /home/zth /( -path “/home/zth/astetc” -o -path “/home/zth/etc” /) -prune -o -type f -name “cdr_*.conf” -print

  注意:/( 和/) 前後都有空格。

  查找某個文件包含內容,以下語句可以解決目錄帶空格的問題:

  代碼如下:

  find 。/ -name “mysql*” -print0 |xargs -0 grep “SELECT lead_id FROM vicidial_list where vendor_lead_code”

  如果目錄不帶空格,可以這樣:

  代碼如下:

  find 。/ -name “mysql*” |xargs grep “SELECT lead_id FROM vicidial_list where vendor_lead_code”

  上面就是Linux下使用find命令查找文件時忽略子目錄的方法介紹了,如果你需要用到相關操作,而又對find命令的使用不是很熟悉的話,不妨來了解下本文,希望對你有所幫助。

Copyright © Windows教程網 All Rights Reserved