Введение:
Я новичок в написании сценариев и недавно принял решение перейти с Windows на Ubuntu (Ubuntu 20.04.2 LTS), поэтому я не знаком со многими вещи. Если возможно, мы будем очень благодарны за объяснение или совет.
Проблема:
У меня есть каталог, полный проектов с пометками, которые я хотел бы переместить в зависимости от темы. Иногда определенные ярлыки отсутствуют, потому что они не применимы.
Общая структура: ("КОД") ["ТЕМА" ("ПОЛЬЗОВАТЕЛЬ")] "GenericProjectName" .zip
Самая простая структура: ["СУБЪЕКТ" ] "GenericProjectName" .zip
Я хотел бы переместить файлы из каталога "OLD" в "NEW / SUBJECT".
Структура каталогов:
ГЛАВНАЯ
---- СТАРЫЙ
-------- ("КОД") ["ТЕМА" (" USER ")]" GenericProjectName ".zip
-------- (" CODE ") [" SUBJECT "(" USER ")]" GenericProjectName ".zip
{{ 1}} ---- NEW
-------- "SUBJECT"
Решение:
Для каждого zip-файла я получаю имя файла и извлекаю "SUBJECT" с помощью awk. После извлечения темы я создаю каталог с этим именем и перемещаю в него файл. Поскольку это сценарий на 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