linux中find常用操作
阿新 • • 發佈:2019-01-23
一、簡介
find是linux中的查詢命令,要查詢符合要求的檔案,同時可對查詢到的檔案執行指定操作。
二、常用操作
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