首页 > 代码库 > 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使用