首页 ? linux ? (转)Linux下find查找多个指定文件或者排除某类文件

(转)Linux下find查找多个指定文件或者排除某类文件

添加评论 次yabo2018.net 注册网

【提示】 非法信息举报请联系本站小编 QQ:5.4069748.5

本文来自网络,原文链接:http://free.yes81.net/yes81/view-13550.html

-------------该命令是寻找ng目录下,排除 lock子目录,排除扩展名jpg xls等,只是root属性的文件,找到就移动到lock 下
find /web/ng??-path /web/ng/upload/lock/" -prune -o??! -iname "*.jpg"? ! -iname "*.xls" ! -iname "*.jpeg"?-user root?-print??
-exec mv -f {}? /web/ng/upload/lock ;

----------------该命令是查找 /tmp 下的包括sh? bin bat 等几类,最近2分钟内的文件,并统计数量
find /tmp?-regex '.*.sh|.*.pl|.*.bin|.*.bat'??-cmin -2? |wc -l

Linux下find一次查找多个指定文件或者排除某类文件,在 GREP 中匹配多个关键字的方法
(1)Linux下find一次查找多个指定文件:
查找a.html和b.html
find . -name "a.html"? -name "b.html"??

find . -regex '.*.txt|.*.doc|.*.mp3'
find . -regex '.*.txt|.*.doc|.*.mp3'???
./a.txt???
./a.doc???
./a.mp3??

(2)排除某些文件类型:
排除目录下所有以html结尾的文件:
find . -type f ! -name "*.html"????

find . -type f ! -name "*.html"????????
./ge.bak.02.09???
./ge.html.changed.by.jack???
./a.txt???
./a.doc???
./a.mp3??

(3)排除多种文件类型的示例:
find . -type f ! -name "*.html" -type? f ! -name "*.php" -type? f ! -name "*.svn-base"? -type? f ! -name "*.js"? -type? f ! -name "*.gif"? -type? f ! -name "*.png"? -type? f ! -name "*.cpp"? -type? f ! -name "*.h"? -type? f ! -name "*.o"? -type? f ! -name "*.jpg"? -type? f ! -name "*.so"? -type? f ! -name "*.bak"? -type? f ! -name "*.log"???

(3)在 GREP 中匹配多个关键字的方法:
grep查找多个数字的文件:
-r 递归,-E:正则? -l:只显示文件名
root@116.255.139.240:~/a# grep -r -E '0341028|100081|10086|10001' *???
a.txt:100081???
b.txt:10086???
c/cc.txt:0341028???
c/cc.txt:100081???
c/cc.txt:10086???
c/cc.txt:10001???
c.txt:10001???
d.txt:0341028??

grep -r? -E -l '0341028|100081|10086|10001' *??????
a.txt???
b.txt???
c/cc.txt???
c.txt???
d.txt??

多种类型文件示例:
view plainprint?
find . -name "*.html" -o -name "*.js"|xargs grep -r "BusiTree"???


用Awk:
view plainprint?
find . -name "*.php"|awk '{print "cat " $0 " |grep -H dbsys.mxxxx.justwinit.cn"}'|sh ?