【发布时间】:2015-09-13 18:33:56
【问题描述】:
我错误地尝试将我的问题添加到一个非常相似的线程中,这里有很好的解决方案:
mac os x terminal batch rename
我基本上有同样的问题,但我想这样做并在重命名时更改文件夹路径。这是我问的:
这些解决方案中的任何一个都可以将下划线更改为文件夹路径吗?比如我有一层需要嵌套的mbox文件,比如:
TopLevel_NextLevel_mbox
TopLevel_NextLevel_FinalLevel_mbox
我想自动将它们放在这样的层次结构中:
TopLevel/NextLevel/mbox
TopLevel/NextLevel/FinalLevel/mbox
这可以吗?当我尝试用“/”进行简单替换时,我得到了这个:
fred$ for f in *_mbox; do mv "$f" "${f/_//}"; done
mv: rename TopLevel_NextLevel_mbox to TopLevel/NextLevel_mbox: No such file or directory
看起来它只是尝试插入“/”,但随后因为其中没有当前文件夹 TopLevel w/ NextLevel_mbox 而感到困惑......
谢谢, 弗雷德
【问题讨论】:
-
嗨 Fred,这是另一种情况,并不是真正的编程问题。您不仅要替换文本,还要根据需要创建目录。我建议为此编写一个脚本,替换名称,然后将原始文件移动到新名称(并搜索“mv create directory if not exist”)。如果您对即时编程问题有更具体的问题,一旦您开始,请在此处发布;-)
-
非常感谢您的回复,西迪尔!如果可以的话,我会把头撞在墙上一点,然后用更多的细节回喊。 -Thx,金融时报
-
对不起,我不能更具体,它不被网站的规则所接受。因为这里仅用于编程问题。我建议为这些东西尝试超级用户姐妹网站。但是指出一些你所做的事情几乎是正确的。正确完成文本转换后,this question 将为您提供帮助。
-
@fhturner,在您的层次结构中,需要像这样嵌套的文件夹:
TopLevel > NextLevel > mbox & FinalLevel > mbox或诸如TopLevel > NextLevel > mbox > TopLevel > NextLevel > FinalLevel > mbox之类的东西——有点不清楚。 -
是的,Sidyll,就 Stack Overflow 而言,这里显然是一个 n00b。有时,当一个人在第一次体验中的主要目标是问一个问题时,要理解完成事情的确切方式(即使在阅读常见问题解答时)有点不知所措。 :-)
标签: macos batch-file