1. 程式人生 > >linux中find常用操作

linux中find常用操作

一、簡介
find是linux中的查詢命令,要查詢符合要求的檔案,同時可對查詢到的檔案執行指定操作。
二、常用操作

直接上程式碼,解釋看註釋。

#!/usr/bin/env bash
path='/home/haha/'
#查詢指定路徑下,根據檔名 -name,符合要求的檔案
find ${path} -name "*.java"
#查詢指定路徑下,根據檔名(忽略大小寫) -iname,符合要求的檔案
find ${path} -iname "*.java"
#查詢指定路徑下,根據檔名 -name,符合要求的檔案,多個匹配方式, -o
find ${path} -name "*.java" -o -name "*.txt"
#查詢指定路徑下,根據路徑 -path,符合要求的檔案 find ${path} -path "*static*" #查詢指定路徑下,根據正則 -regex,符合要求的檔案,若忽略大小寫,則用-iregex find ${path} -regex ".*static.*js$" #取反操作,查詢指定路徑下,根據檔名 -name,不符合要求的檔案 find ${path} ! -name "*.java" #查找出檔案後,執行單條命令 find ${path} -name "*.java" -exec grep test {} \; #查找出檔案後,執行多條命令,方式一:多個-exce find
${path} -name "*.java" -exec grep test {} \; -exec echo {} \; #查找出檔案後,執行多條命令,方式二:通過bash -c find ${path} -name "*.java" -exec bash -c "grep test {} && echo {}" \; #查找出檔案後,執行多條命令,方式三:通過while find ${path} -name *.java | while read line ; do result=`cat ${line} | grep test` if [ -n "${result}"
] then echo ${line} echo ${result} fi done