我有当前的代码:
for fname in *.*; do
prefix=${fname%.*}
[ ! -f "$fname" ] || [ -f "$prefix.zip" ] && continue
zip "$prefix" "$prefix".*
done
这主要是我想要的,但我必须删除原始文件。是否可以进行修改以在压缩后删除原始文件?如果可能的话,如何在目录或其子目录上执行此操作?
当前文件结构如下:
-rootDir
|- Dir1
|- file1.jpg
|- file1.png
|- file1.mp3
|- Dir2
|- file2.jpg
|- file2.png
|- file2.mp3
我的目标是以下结构:
-rootDir
|- Dir1
|- file1.zip
|- Dir2
|- file2.zip
如前所述,上面的代码在单个目录中执行时工作正常。
我现在有300个子目录,如果我能获得上述代码的修改版本并在根目录级别执行,并整理剩余的文件,那对我会有很大的帮助。