![将 Maildir 内容移动到其父目录但针对多个文件夹的脚本](https://linux22.com/image/616400/%E5%B0%86%20Maildir%20%E5%86%85%E5%AE%B9%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%85%B6%E7%88%B6%E7%9B%AE%E5%BD%95%E4%BD%86%E9%92%88%E5%AF%B9%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E8%84%9A%E6%9C%AC.png)
我完全不懂 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;