我正在尝试构建.sh脚本来帮助我清除巨大的Gallery文件夹。这是我第一次使用bash脚本,并且运行不正常。
文件夹结构为:
gallery/
gallery1/
dynamic/
thumbs/
oldfile.jpg_backup
oldfile.jpg
gallery2/
dynamic/
thumbs/
oldfile.jpg_backup
oldfile.jpg
.. 等等。
这是应该如何工作的:
我以这种方式尝试过,但是我挂在了“ if [DIRECTORY]”行上。因为我不知道该如何做,所以这是纯粹的弥补。任何帮助是极大的赞赏
for f in ~/gallery/*;
do
[ -d /thumbs ] && rm -r thumbs/ && echo Thumbs deleted...
[ -d /dynamic ] && rm -r dynamic/ && echo Dynamic deleted...
if [ DIRECTORY == "*.jpg_backup" ]
then
rm *.jpg
rename 's/.jpg_backup/.jpg/' *
fi
done;
#!/usr/bin/env bash
set -o errexit
set -o xtrace
for d in gallery/*; do
rm -vrf "$d/thumbs" "$d/dynamic"
if [[ -n "$(shopt -s nullglob; echo $d/*.jpg_backup)" ]]; then
rm -rf "$d"/*.jpg
for f in "$d"/*.jpg_backup; do
mv -v "$f" "${f%_backup}"
done
fi
done
参考文献:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句