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

发布时间:2019-10-27编辑:脚本学堂
有关shell脚本删除目录下指定文件的方法,在shell脚本中for+case命令,也可以结合find命令删除文件,需要的朋友参考下。

shell/ target=_blank class=infotextkey>shell脚本删除目录下指定文件

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

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

可以选择手动的一个个删除,写了一个shell脚本,用了for+case,一个linuxjishu/14008.html target=_blank class=infotextkey>find命令。

例子,shell脚本删除文件:
 

复制代码 代码示例:
#!/bin/bash 
 
#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