将 zip 文件迁移到使用特定标签的目录

将 zip 文件迁移到使用特定标签的目录

介绍:

我是脚本新手,最近决定从 Windows 换到 Ubuntu(Ubuntu 20.04.2 LTS),所以对很多事情都不熟悉。如果可以的话,我将不胜感激。

问题:

我有一个目录,里面全是带标签的项目,我想根据主题重新定位这些项目。有时某些标签会丢失,因为它们不适用。

一般结构为:(“CODE”)[“SUBJECT”(“USER”)]“GenericProjectName”.zip

最简单的结构是:["SUBJECT"]"GenericProjectName".zip

我想将文件从目录“OLD”移动到“NEW/SUBJECT”。

目录结构:

主要
----旧
--------("CODE")["SUBJECT"("USER")]"GenericProjectName".zip
--------("CODE")["SUBJECT"("USER")]"GenericProjectName".zip
----新
--------"SUBJECT"

答案1

解决方案:
对于每个 zip 文件,我获取文件名并使用 awk 获取“SUBJECT”。提取主题后,我创建一个同名的目录并将文件移入其中。因为它是一个 bash 脚本,所以我可以更轻松地使用所需的变量。

#!/bin/bash
for file in *.zip
do
    filename=$(basename "$file")
    dirname=`echo "$filename" | awk -F"[][]" '{print $2}'`
    mkdir -p "$dirname" &&
    mv -iv "$file" "$dirname"
done

相关内容