1. 程式人生 > >find 和grep的差異

find 和grep的差異

find是利用檔名和檔案屬性,來找檔案的,grep是對檔案內容逐行掃描,來找匹配的內容。

find可以找目錄,找檔案,具體方式如下:

一、find  命令格式說明

   path find命令查詢的目錄路徑。

   -print find命令將匹配到的檔案輸出到標準輸出。

   -exec find 命令對匹配的檔案執行該引數所給出的Shell命令。

   -ok 和 -exec的作用相同,只是更安全,在執行每個命令之前,都會給出提示,讓使用者來確定是否執行。

二、find命令常用引數說明

  -name   按照檔名查詢檔案

  -cpio: 對匹配的檔案使用 cpio 命令,將這些檔案備份到磁帶裝置中

  -prune 按照檔案許可權進行查詢檔案 

  -user 按照檔案屬主來查詢檔案

  -group 按照檔案所屬的組來查詢檔案

  -mtime -n +n 按照檔案更改的時間來查詢檔案,-n 表示更改時間距現在 n 天以內,+n 表示更改時間距現在 n 天以前

   -nogroup 查詢無效所屬組的檔案

   -nouser 查詢無效屬主檔案

   -newer file1 !file2 查詢更改時間比 file1 新但比 file2 舊的檔案

   -follow 如果 find 查詢的為連結檔案,就跟蹤至連線所指向的檔案

   -mount 在查詢檔案時不跨越檔案系統 mount 點

   -fstype 查詢位於某一型別檔案系統中的檔案

   -depth 在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢

   -size n 查詢檔案長度為 n 塊的檔案,帶有 c 時表示檔案長度以位元組計

   -type 查詢某一型別的檔案

   -amin n 查詢系統中最後 n 分鐘訪問的檔案

   -atime n 查詢系統中最後 n*24 小時訪問的檔案

   -cmin n 查詢系統中最後 n 分鐘被改變檔案狀態的檔案

   -ctime n  查詢系統中最後 n*24 小時被改變檔案狀態的檔案

   -mmin n 查詢系統中最後 n 分鐘被改變檔案資料的檔案

   -mtime n  查詢系統中最後 n*24 小時被改變檔案資料的檔案

   -empty 查詢系統中空白的檔案或目錄,或目錄中沒有子目錄的資料夾

   -false 查詢系統中總是錯誤的檔案

   -gid n 查詢系統中檔案數字組ID為 n 的檔案

   -daystart 測試系統中從今天開始 24 小時以內的檔案,用法類似於 -amin

   -help 顯示命令摘要(幫助)

   -maxdepth levels 在某個層次目錄中按照遞減方法查詢

三、find基本用法

   find 如不加任何引數,表示查詢當前路徑下的所有檔案和目錄

   find  -print    將結果列印到標準輸出

   find /data/log   指定路勁查詢

  find   /   -name  "abc.txt"   在系統中查詢 abc.txt 如果執行完畢沒有找到,則說明系統中不存在該檔案

   find 還支援正則表示式查詢

   find /data/logs -mame "*.log"  -type f -printf    查詢符合指定字串的檔案

  find . -name "[0-9]" -type f   查詢以數字開頭的檔案

  find / -mtime -1 |head  查詢系統內最近24小時修改過的檔案

   find / -mmin  -15|head   查詢系統內最近15 分鐘修改過的檔案

find 使用 type 選項可以查詢特定的檔案型別,常見型別如下

  b 塊裝置檔案

  d 目錄

  c 字元裝置檔案

  p 管道檔案

  l 符號連結檔案

  f 普通檔案

  find  . -type d  查詢當前路徑中的所有目錄

  find  . -type f  查詢當前路徑中的所有檔案

    find  . -type l   查詢當前路徑中的所有符號連結檔案

  更多例項將在使用中不斷補充.....

四、xargs命令

  find命令可以把匹配到的檔案傳遞給 xargs 命令執行,在使用 find 命令的 -exec 選項處理匹配到的檔案時,find將所有匹配到的檔案一起傳遞給 exec 執行。由於有些系統對能夠傳遞給 exec 的命令長度有限制,這樣會引起溢位錯誤。這時可以使用 xargs 命令。

  find / type f -print | xargs file    查詢系統中的每一個普通檔案,並用 file 命令來測試它們分別屬於哪一類檔案。

  find . -type f -name "\.log" -print | xargs rm  查詢當前目錄下的 .log 檔案,並刪除 。

  find . -type f -exec ls -l {} \;  用 ls -l 列出所有匹配到的檔案。

  find logs  -type f -mtime +5 -exec rm {} \;  查詢 log 中更改時間在 5 天前的檔案並刪除。

  find logs -type f -ok rm {} \;  查詢 log中的所有普通檔案並在刪除前確認。  

  find . -type f -name "\.log" -print | gerp "node"     查詢當前目錄下的 .log 檔案,並從查詢結果中篩選出帶有 node 字串的檔案 。

相關推薦

find grep差異

find是利用檔名和檔案屬性,來找檔案的,grep是對檔案內容逐行掃描,來找匹配的內容。 find可以找目錄,找檔案,具體方式如下: 一、find  命令格式說明    path find命令查詢的目錄路徑。    -print find命令將匹配到的檔案輸出到標準輸

centos使用findgrep命令

find grep 作為一個ITer需要竟要使用到命令行,find和grep命令了解非常必要,下面說些常用方法find查找文件find ./ -name 192.168.1.166_server_log #根據文件名查找find . -type f -name "*.phtml"

在 linux 中 find grep 的區別??

col linu 它的 -s glob 操作 功能 相關 round Linux 系統中 grep 命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。grep 全稱是 Global Regular Expression Print,表示

linux下的findgrep命令

  一、區別 1. find 命令主要是用來查詢關於檔名字,檔案最後修改時間,檔案大小等資訊的。 2.grep 命令主要是用來查詢關於檔案(文件)具體內容,會對檔案的每一行按照給定的模式(patter)進行匹配查詢,並打印出該字串所在行的內容。 二、find命令 我

Linux筆記 findgrep命令

find命令用於搜尋檔案。其完整語法為:find [path] [options] [tests] [actions] path是要搜尋的路徑,可以是絕對路徑也可以是相對路徑。 options有許多選項可用,以下列出一些主要的選項 選項含義                 

jenkins遠端部署使用shell指令碼進行備份與findgrep匹配的區別

需求 公司想jenkins在遠端部署專案的同時,還要進行專案備份, 之前只備份最近一次構建的資料,也就是隻保留到一份, 現在公司希望能保留按時間進行倒序,保留三份備份包。 思路 1、使用rm -rf 檔名把我們要保留的三份備份包排除掉。 2、要排除查

Linux findgrep的區別

1.find:查詢檔案或目錄 語法: find 查詢位置 檔名或目錄名 如:在 /root/luojiahui目錄下查詢index.htm find /root/luojiahui index.htm

linux中的find,locate,grep指令管道符

find查詢檔案指令 find [查詢範圍] [引數] 常用的引數有 user ---------按照使用者分類查詢 name ----------- 按照檔名稱查詢 size -------------按照檔案大小查詢

grep命令引數列表過長?我們還有find、xargsgrep

一、問題 撈取當前目錄中指定子目錄下指定伺服器指定時間範圍內所有包含有“功勳獲取”的日誌內容 1、指定子目錄 1.2.3.25 .... 1.2.3.83 2、指定伺服器 該伺服器的日誌的檔名格式為: sceneserver.log.(年的後兩位,兩位數)(月份,不夠用0補

Linux中find命名grep命令的結合使用

找到當前目錄(及子目錄)下所有的.py檔案 find . -name '*.py' 統計當前目錄(及子目錄)下所有.py檔案的總行數 find . -name '*.py' | xargs wc -l 統計當前目錄(及子目錄,除目錄./a/b/之

java--request對象中的getpost差異

spa ont ava request對象 blog family tro nbsp span post跟get的差異,優先選post post的缺陷 java--request對象中的get和post差異

find & grep 命令 in linux(轉)

for one group mathjax 現在 preview 管道 splay 提高效率 Linux下面工作,有些命令能夠大大提高效率。本文就向大家介紹find、grep命令,他哥倆可以算是必會的linux命令,我幾乎每天都要用到他們。本文結構如下:

正則表達式grep

表達式 color 字母 牟定 單詞 正則表達式分為兩類:基本正則表達式和擴展正則表達式。基本正則表達式元字符: 字符匹配: .:匹配任意一個字符。 []:匹配[]中指定範圍內的任意一個字符。 [^]:指定範圍外的任意一個字符;也可以得知,在[]括號內,^表示取反。

jQuery中focusin()focus()、find()children()的差別

nes jquery ams rip 1.4 fadein ++ display his jQuery中focus()和focusin()、focus()和children()的差別 focus()和focusin() focus()和focusin

實戰c++中的vector系列--對vector<自己定義類>使用std::find std::find_if 算法

++ pac price key fadein 輸出 var getitem mod 之前博客講了一些關於std::find和std::find_ if的一些使用方法。可是沒有講述對於vector中存儲的是自己定義的類。那麽怎麽樣使用std::find和

常用批處理命令總結3之FindFindStr

ttr 計算 例如 ber 文件名 忽略大小寫 cap 應該 dst @echo offfindstr /V "[4-4]" all210.txt > no4.txtpause::註釋 /n是顯示出來第幾行!查不帶4的可註冊的域名 find 作

c++ map之中findcount函數的區別

結果 個數 make algo -h ring images str 代碼 編程的時候比較常用,今天記錄一下,以後備用。 使用count,返回的是被查找元素的個數。如果有,返回1;否則,返回0。註意,map中不存在相同元素,所以返回值只能是1或0。 使用find,返回的是

Linux findgrep命令詳細用法

標準輸出 獲取參數 返回 管道 每一個 作用 實例 文件名 opts 在linux下面工作,有些命令能夠大大提高效率。本文就向大家介紹find、grep命令,他哥倆可以算是必會的linux命令,我幾乎每天都要用到他們。本文結構如下:find命令 find命令的一般形式

jQuery中findfilter的區別

query spa com 區別 tex 自身 技術 ext inf 這是jQuery裏常用的2個方法。他們兩者功能是完全不同的,而初學者往往會被誤導。 首先 我們看.find()方法:現在有一個頁面,裏面HTML代碼為;程序代碼 <div class="css"&

find & grep 總 結

都是 什麽是 至少 做的 精確匹配 管道 con 腳本 模式 find & grep 總 結前言關於本文總 結 了 find、grep常 規 用 法,正 則 表 達 式,find與 grep合 用 以 及 自 定 義 搜 索 函 數 等什麽是find和grepfin