Назад | Перейти на главную страницу

Скрипт для перемещения содержимого Maildir в его родительский каталог, но для нескольких папок

Я полностью отстой в Bash / Python / Ruby / Perl Scripting (нужно попрактиковаться / узнать больше), поэтому я прошу небольшой помощи :-)

Мне нужно переместить содержимое примерно 60 Maildirs в их родительскую папку и переименовать эту родительскую папку тоже на машине Linux, конечно, я могу использовать 'mv *. [^.] * ../' для этого, но его повторение для нескольких папок, которые я хотел бы выполнить.

Итак, в настоящее время у меня есть /some/folder/prefix-user.name/Maildir/, и я хочу получить:

/some/folder/user.name/, который содержит содержимое Maildir.

Было бы хорошо использовать два отдельных сценария, на самом деле, вероятно, было бы лучше, поэтому у меня есть несколько примеров, чтобы узнать, как выполнять такую ​​автоматизацию повторяющихся функций :-)

Заранее благодарим за помощь!

В последнее время я много занимаюсь подобными вещами. (перемещение файлов в пользовательских папках то есть!)

for u in $(ls -1 /some/folder/) do
  #give some feedback
  echo "Working on $u"
  # move the contents of Maildir up a level
  mv $u/Maildir/*.* $u
  #generate the new name for the user folder
  newname=$(echo $u | awk -F "-" '{print $2}')
  # move the user fodler to the new name
  mv $u $newname
done;