【发布时间】:2016-06-12 02:39:52
【问题描述】:
我遇到了使用 shell 脚本的场景。如果文件夹和 Zip 名称相同,我需要删除它。任何人都可以帮助我吗?
示例
下面是脚本需要在目录中搜索同名的目录路径(这里需要打印删除example和example.zip)
Path:/tmp/test/
/tmp/test/example
/tmp/test/example.zip
/tmp/test/zack
【问题讨论】:
我遇到了使用 shell 脚本的场景。如果文件夹和 Zip 名称相同,我需要删除它。任何人都可以帮助我吗?
示例
下面是脚本需要在目录中搜索同名的目录路径(这里需要打印删除example和example.zip)
Path:/tmp/test/
/tmp/test/example
/tmp/test/example.zip
/tmp/test/zack
【问题讨论】:
这应该可以解决问题,甚至适用于 cronjob:
find $DIR_PATH -type d -exec sh -c '[ -f "{}.zip" ] && rm -fr {}.zip {}' \;
只需将 DIR_PATH 设置为您要搜索的位置
【讨论】:
您可以使用如下脚本:
#!/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
【讨论】: