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

Bash Shell脚本,用于删除包含相同名称的文件夹中的文件夹和Zip文件,bash,shell,sh,Bash,Shell,Sh,我遇到了使用shell脚本的场景。我需要删除文件夹和压缩,如果它有相同的名称。谁能帮我一下吗 示例 下面是脚本需要在目录中搜索相同名称的目录路径(这里需要打印和删除示例和example.zip) 您可以按如下方式使用脚本: #!/bin/bash parent_dir=/tmp/test/ for i in `ls /tmp` do if [[ $i != *.zip ]]; then if [[ -f /tmp/$i.zip ]]; then

我遇到了使用shell脚本的场景。我需要删除文件夹和压缩,如果它有相同的名称。谁能帮我一下吗

示例

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


您可以按如下方式使用脚本:

#!/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

这应该是一个技巧,即使适用于cronjob:

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

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

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