用于删除包含相同名称的文件夹中的文件夹和Zip文件的Shell脚本

时间:2016-02-29 06:19:32

标签: bash shell sh

我遇到了使用shell脚本的场景。我需要删除文件夹和Zip,如果它具有相同的名称。任何人都可以帮助我。

示例

以下是脚本需要在目录中搜索相同名称的目录路径(此处需要打印并删除示例和example.zip

Path:/tmp/test/
/tmp/test/example
/tmp/test/example.zip
/tmp/test/zack

2 个答案:

答案 0 :(得分:0)

您可以使用以下脚本:

#!/bin/bash
parent_dir=/tmp/test/
for i in `ls /tmp`
do
        if [[ $i != *.zip ]]; then
                if [[ -f /tmp/$i.zip ]]; then
                        array=$array" "$i
                fi
        fi
done
array=( $array )
for i in ${array[@]}
do
        rm -r $parent_dir$i
        rm -r $parent_dir$i".zip"
done

答案 1 :(得分:0)

这应该是一个技巧,甚至适合cronjob:

find $DIR_PATH -type d -exec sh -c '[ -f "{}.zip" ] && rm -fr {}.zip {}' \;

只需将DIR_PATH设置为您要搜索的位置