根據(jù)文件屬性查找 find
命令格式:
find 搜索路徑 選項(xiàng) 參數(shù)
常用選項(xiàng)
-name
- 指定文件名格式撵枢;
-size
- 指定文件大小弛秋,例如+1000000c表示大于1M凝危;
-type
- 指定文件類型军俊,例如-f
表示普通文件尉共,-d
表示文件夾褒傅;
!
- 表示反向匹配;
-a
- 同時(shí)滿足多個(gè)條件袄友;
-o?
- 滿足其中一個(gè)條件即可殿托;
根據(jù)文件內(nèi)容查找 grep
命令格式:
grep 匹配內(nèi)容 搜索文件名 選項(xiàng)
grep -E "word1|word2|word3" ./* -rwn # 滿足其中一個(gè)關(guān)鍵字
grep -oba "ACBD.*DBCA" ./* -r -m 1 # 查找所有二進(jìn)制文件中滿足"ACBD.*DBCA"
常用選項(xiàng)
-r
- 遞歸查找子目錄;
-w
- 全詞匹配剧蚣;
-n
- 顯示行號(hào)支竹;
-v
- 反向匹配;
-a
- 匹配二進(jìn)制文件
?-m num
- 只匹配該文件文件的前num個(gè)匹配項(xiàng)鸠按;
-o
- 只顯示匹配內(nèi)容礼搁,可解決查找二進(jìn)制時(shí)亂碼問題;
-A
- 后接num目尖,表示同時(shí)顯示匹配行往下num行馒吴;
-B
- 后接num,表示同時(shí)顯示匹配行往上num行;
-C
- 后接num饮戳,表示匹配行居中豪治,共顯示num行;
實(shí)例
- 找出多行內(nèi)容在文件中出現(xiàn)的次數(shù)(多行內(nèi)容扯罐,這里指3行)
grep "line1 xxx" -A 2 file |grep "line2 xxx" -A 1 | grep "line3 xxx" | awk 'BEGIN{i=0} {i++} END{print "num","is",i}'