У меня есть серия подкаталогов, всех в одном родительском каталоге, каждый названный как такой:
StringA (Date1) StringW [String10]
StringB (Date2) StringX [String11]
StringB (Date3) StringY [String12]
StringC (Date4) StringZ [String13]
У меня также есть другая папка, полная подкаталогов, один, чтобы каждая уникальная строка привела заголовок подкаталога из предшествующего списка. Происхождение вышеупомянутого примера, это пошло бы:
StringA
StringB
StringC
Существует ли осуществимое средство перемещения каждого подкаталога расширенного заголовка в подкаталог с коротким титулом, который соответствует его ведущей строке?
Для ясности моим желаемым результатом были бы папки, вложенные в следующем порядке:
StringW [String10] StringA/StringA (Date1)
StringX [String11] StringB/StringB (Date2)
StringY [String12] StringB/StringB (Date3)
StringZ [String13] StringC/StringC (Date4)
Попробуйте следующий сценарий
foo="/path/to/folder/containing/short-titled-directories"
bar="/path/to/folder/containing/extended-titled-directories"
for subdir in $foo/*
do
if [[ -d "$subdir" ]]
then
folder_to_move=$(ls $bar | grep "$subdir")
mv "$bar/$folder_to_move" "$subdir/$folder_to_move"
fi
done