首页 > 代码库 > find使用

find使用

查找文件:find . -type f -name "*.sh*"

查找文件中的内容:find . -type f -name "*.xml*" | xargs grep -r "172.21.4.95"

查询并替换:find . -name "*.properties" | xargs sed -i ‘s/cpsadt8/cpsadt/g‘;

统计文件中的记录数:find ./ -name "*sms20120301*.unl" | awk ‘{if ($7< "17:01") print $8}‘ |wc -l

文件批量转移:find ./ -type f -name ‘*201205*‘ -exec mv {} ../bak \;         

文件批量删除:find ./ -type f -name ‘*201205*.unl‘ -exec rm {} \;

文件的修改:find ./ -name ‘clr20111213*‘|xargs awk -F "|"  ‘ { if ( substr($4,1,2) == "09" )   print $0 } ‘

                    find ./ -name ‘clr20111214*‘|xargs awk -F"|"  ‘ { if ( substr($4,1,2) == "09" )     print FILENAME "|" $0 }‘

执行压缩: find . -name "*20111127*.unl" | xargs tar czvf 20111123.tar.gz
                    find . -name "*20111121*"| wc -l
                    find . -name "*20120212*"| xargs tar czvf 2012-02-12.tar.gz

执行删除确认:find . -name "*20111225*.unl" | awk ‘{print "rm "$1}‘ | head
                        find . -name "*20111209*"     | awk ‘{print "rm "$1}‘

执行删除:find . -name "*20111124*"| awk ‘{print "rm" $1}‘ | ksh
                   find . -name "*vou*.unl" | awk ‘{print  $1}‘ | wc -l

查找端口号:find -name "*" | xargs grep -i 端口号

忽略某个目录:$ find /apps -name "/apps/bin" -prune -o -print

在系统根目录下查找更改时间在5日以内的文件:$ find/ mtime 5 print
在/var/adm目录下查找更改时间在3日以前的文件:$ find /var/adm mtime +3 print

在当前目录下查找文件长度大于1M字节的文件:$find . -size +1000000c -print

用ls-l命令列出所匹配到的文件,可以把ls-l命令放在find命令的-exec选项中:$ find . -type f -exec ls-l {} \;

命令在当前目录中查找所有文件名以.LOG结尾、更改时间在5日以上的文件,并
删除它们,只不过在删除之前先给出提示。
$ find . -name “*.LOG” -mtime +5 -ok rm {} \;  -- <rm … ./nets.LOG> ?y

find使用