当前位置: > shell编程 >

删除目录下的指定文件的shell脚本

时间:2014-11-23 14:09来源:linux.it.net.cn 作者:IT

用shell脚本 删除目录下的指定文件。

做日志备份时,由于替换了备份脚本没有完全测试通过,导致了备份目录遭到污染,如果所示:
删除目录下指定文件

需求描述:
test1、test2、test3仅存在nginx、coreseek、apche,删除掉所有其他的文件。

一个shell脚本,用了for+case,这里提示一个find命令,有兴趣的朋友可以研究下。

例子,shell脚本
 

复制代码代码示例:

#!/bin/bash  
# site: www.jbxue.com
#

#1.变量定义  
root="/backup/log"  
dirarr=("test1" "test2" "test3")  
nodelete=("nginx" "coreseek" "system" "apache" "." "..")  
  
#2.遍历删除  
for dir in ${dirarr[*]}  
do  
    filearr=$(ls $dir);  
    for file in ${filearr[*]}  
    do  
        case $file in  
            "nginx")  
                continue;;  
            "coreseek")  
                continue;;  
            "system")  
                continue;;  
            "apache")  
                continue;;  
            ".")  
                continue;;  
            "..")  
                continue;;  
            *)  
                rm $root/$dir/$file;;  
        esac  
    done  
done

 


(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容