1. 程式人生 > >三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

   Find,grep 可以輕鬆實現對指定檔案和目錄的查詢,檢視,刪除,***內容的清理等等……雖然不及sed\awk\功能強大和複雜,但其方便易用結合其它命令還是可以為我們提供強大的實用功能

1、 查詢檔案
建立如下結構檔案和資料夾,使用find查詢my5.txt
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

find ./ -name my5.txt #查詢檔案
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

建立如下結構檔案資料夾,使用FIND查詢分別查詢t資料夾和t.txt檔案
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
find ./ -type d -name t #查詢資料夾(d型別為目錄)
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
find ./ -type f -name t.txt #查詢檔案(f型別為檔案)
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
查詢以當前時間點往前推指定時間內的檔案
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
find /data/test/ -ctime -1 #查詢指定目錄下,當前時間點往前推1天內建立的檔案或資料夾
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手


find /data/test/
-ctime -6 #查詢指定目錄下,當前時間點往前推6天內建立的檔案或資料夾
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
find /data/test/* -ctime -7 #查詢指定目錄下,當前時間點往前推7天內建立的檔案或資料夾
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

查詢並顯示指定目錄下所有檔案詳細資訊(包含子目錄下的所有檔案)
find /data/test/ -mtime -7 ! -type d|xargs ls -l
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
find /data/test/
-mtime -7 |xargs ls –l #如果不排除非目錄的顯示結果(引數[ ! -type d])子目錄內容會被重複顯示
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

查詢當前目錄下所有檔案不包括資料夾
find ./ ! -type d
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

查詢檔案中包含指定內容的檔案
find /data/test/ ! -type d |xargs grep jerry
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

查詢到指定內容的檔案後進行刪除操作
我們先查詢後只需要獲取目錄:
find /data/test/ ! -type d |xargs grep jerry|awk -F":" '{print $1}'
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
由於檢索檔案內容有重複所以我目錄有重複的,如果執行刪除也不會出錯,但是為了嚴謹我們去掉重複的
find /data/test/ ! -type d |xargs grep jerry|awk -F":" '{print $1}'|uniq
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手

find /data/test/ ! -type d |xargs grep jerry|awk -F":" '{print $1}'|uniq |xargs rm -rf

三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手