find命令的工作方式如下:沿著文件層次結構向下遍歷,匹配符合條件的文件,並執行相應的操作。
find常用操作
查找
原形
例子
說明
文件
find + “路徑” +“ –name” + “文件名”
find “/” -name “httpd.conf”
“-name”文件名字參數
從from)哪裡路徑)找什麼文件名)
文件內容
find + “路徑” +“ –name” + “文件名”+ | grep + “字符”
find . -name "*.*" |xargs grep 'xiaoshou' > list.txt
grep的工作方式是這樣的,它在一個或多個文件中搜索字符串”搜索內容串”。如果”搜索內容串”包括空格,則必須被引用,”搜索內容串”後的所有字符串被看作文件名。搜索的結果被送到屏幕,不影響原文件內容
Find命令算項參數
查找
參數
說明
例子
以時間方式
-amin n
查找系統中最後N分鐘訪問的文件
find / -amin -10 # 查找在系統中最後10分鐘訪問的文件
-atime n
查找系統中最後n*24小時訪問的文件
-cmin n
查找系統中最後N分鐘被改變狀態的文件
-ctime n
查找系統中最後n*24小時被改變狀態的文件
-mmin
查找在系統中最後n分鐘裡修改過的文件
-mtime
查找在系統中最後n*24小時裡修改過的文件
以系統模式方式
-empty
查找系統中空白的文件,或空白的文件目錄,或目錄中沒有子目錄的文件夾
find / -empty # 查找在系統中為空的文件或者文件夾
-false
查找系統中總是錯誤的文件
-fstype type
查找系統中存在於指定文件系統的文件,例如:ext2
find / -user fred #查找在系統中屬於FRED這個用戶的文件
-gid n
查找系統中文件數字組 ID 為 n的文件
-group gname
查找系統中文件屬於gnam文件組,並且指定組和ID的文件
-user name
查找在系統中屬於name這個用戶的文件
-name
指定了文件名所必須匹配的字符串可以使用\(和\)將多個條件連接成一個條件進行相應的搜索
如find . \( –name “*.txt” –o –name “*.pdf” \) -print
-path
可以使用通配符來匹配文件路徑和文件
-name總是用給定的文件名進行匹配,-path則將文件路徑作為一個整體進行匹配
-regex
參數和 -path類似,只不過-regex是基於正則表達式來匹配文件路徑的
!
否定參數
查找所以不以.txt結尾的文件名。find . ! –name “*.txt” –print
-maxdepth
限定目錄搜索的深度
-type
按文件類型搜索普通文件 f 符號鏈接l 目錄d 字符設備 c 塊設備 b 套接字 s FIfo p
-delete
刪除匹配的文件
grep的工作方式是這樣的,它在一個或多個文件中搜索字符串”搜索內容串”。如果”搜索內容串”包括空格,則必須被引用,”搜索內容串”後的所有字符串被看作文件名。搜索的結果被送到屏幕,不影響原文件內容。
grep -[acinv]‘命令算項’+ '搜索內容串' filename
grep命令算項參數
參數
說明
例子
-a
以文本文件方式搜索
-c
計算找到的符合行的次數
-i
忽略大小寫
-n
順便輸出行號
-v
反向選擇,即找沒有搜索字符串的行
-?
同時顯示匹配行上下的?行
grep -2 pattern filename同時顯示匹配行的上下2行
-b
打印匹配行前面打印該行所在的塊號碼
-f File,--file=File
從文件中提取”搜索內容串”
空文件中包含0個”搜索內容串”,所以什麼都不匹配
-h
當搜索多個文件時,不顯示匹配文件名前綴
-q
取消顯示,只返回退出狀態。
0則表示找到了匹配的行
-l
打印匹配”搜索內容串”的文件清單
-L
打印不匹配”搜索內容串”的文件清單
-s
不顯示關於不存在或者無法讀取文件的錯誤信息
其中搜索串可以是正則表達式! (vim、grep、awk 、sed 都支持正則表達式)
grep正則表達式元字符集
符號
意義
例子
^
錨定行的開始
'^grep' 匹配所有以grep開頭的行。
$
錨定行的結束
'grep$'匹配所有以grep結尾的行
.
匹配一個非換行符的字符
'gr.p'匹配gr後接一個任意字符,然後是p
*
匹配零個或多個先前字符
*grep'匹配所有一個或多個空格後緊跟grep的行。
[]
匹配一個指定范圍內的字符
如'[Gg]rep'匹配Grep和grep
[^]
匹配一個不在指定范圍內的字符
[^A-FH-Z]rep'匹配不包含A-F和H-Z的一個字母開頭,緊跟rep的行
\(..\)
標記匹配字符
如'\(love\)',love被標記為1
\<
錨定單詞的開始
如:'\<grep'匹配包含以grep開頭的單詞的行
\>
錨定單詞的結束
如'grep\>'匹配包含以grep結尾的單詞的行
x\{m\}
重復字符x,m次
如:'0\{5\}'匹配包含5個o的行
x\{m,\}
重復字符x,至少m次
'o\{5,\}'匹配至少有5個o的行
x\{m,n\}
重復字符x,至少m次,不多於n次
如:'o\{5,10\}'匹配5--10個o的行
\w
匹配文字和數字字符也就是[A-Za-z0-9]
'G\w*p'匹配以G後跟零個或多個文字或數字字符,然後是p。
\W
\w的反置形式,匹配一個或多個非單詞字符,如點號
\b
單詞鎖定符
如: '\bgrep\b'只匹配grep
本文出自 “隨心隨性 隨筆” 博客,請務必保留此出處http://suixinsuixin.blog.51cto.com/7444588/1282158