将 Maildir 内容移动到其父目录但针对多个文件夹的脚本

将 Maildir 内容移动到其父目录但针对多个文件夹的脚本

我完全不懂 Bash/Python/Ruby/Perl 脚本(需要多练习/学习)所以我请求一点帮助 :-)

我需要在 Linux 机器上将大约 60 个 Maildir 的内容移动到它们的父文件夹并重命名该父文件夹,当然我可以使用“mv * .[^.]* ../”来执行此操作,但我想完成的是重复多个文件夹的操作。

所以目前我有 /some/folder/prefix-user.name/Maildir/ 并且我希望得到:

/some/folder/user.name/ 包含 Maildir 的内容。

两个单独的脚本就可以了,事实上这样可能会更好,这样我就有多个例子来学习如何做这种重复的功能自动化:-)

提前谢谢你的帮助!

答案1

我最近做了很多这种事情。(也就是移动用户文件夹中的文件!)

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;

相关内容