【发布时间】:2017-02-27 14:52:42
【问题描述】:
多年来,我一直在使用一个 OS X 归档应用程序,它将以前版本的文档存储在一个 OS X 包中。此应用与 Sierra 不兼容,但我不想丢失所有文件存档。
这是文件夹结构:
Dir1
|--document_archive_1 <--has name of original document
| --doc_version_1 <--has name in form: 20160301 180206 -0800
| --doc_version_2 <--has name in form: 20151127 171422 -0800
|--document_archive_2
| --doc_version_1
|subdir1
| --document_archive_3
| subsubdir
etc.
或者,换句话说,树中的每个文件夹都包含子文件夹和 OS X 捆绑包的组合,其中包含存档文档版本(仅此而已)。该包的文件名是其归档版本所在的文档的文件名。归档包包含名称为日期戳的文件。
我想做的是遍历文件夹树。当我遇到归档包时,我想:
- 创建一个文件夹,其名称是归档包的名称
- 将归档包移动到步骤 2 中创建的文件夹中
- “解包”归档包
- 用存档包的名称加上日期戳重命名“未捆绑的”文件,去掉时区偏移
因此,例如...对于名为“letter_to_dad.doc”的 Word 文档,归档包名为“letter_to_dad.doc.synkarchive”,如下所示:
|letter_to_dad.doc.synkarchive
|--20160301 180206 -0800 <--this is a .doc file but has no extension
|--20151127 171422 -0800
我想结束的是:
|folder called 'letter_to_dad'
|--letter_to_dad 20160301 180206.doc
|--letter_to_dad 20151127 171422.doc
我只写了一点 Bash 脚本,我想做的事情已经超出了我目前的想法,因此我们将不胜感激。我在想这不应该那么难,但我可能对此很天真......
感谢您的帮助。
【问题讨论】: