我有大量的文件要按照一些糟糕的约定对所有文件进行排序。
这里有些例子:
(4)_mr__mcloughlin____.txt
12__sir_john_farr____.txt
(b)mr__chope____.txt
dame_elaine_kellett-bowman____.txt
dr__blackburn__.txt
这些名字应该是不同的人(说话者)。另一个 IT 部门的某个人使用一些脚本从大量 XML 文件中生成了这些文件,但正如您所见,命名非常愚蠢。
我需要为每个人使用多个文本文件对数以万计的这些文件进行排序;每个都有一些愚蠢的东西使文件名不同,无论是更多的下划线还是一些随机数。它们需要按扬声器分类。
使用脚本来完成大部分工作会更容易,然后我可以返回并合并应该使用相同名称或其他名称的文件夹。
我有很多方法可以考虑这样做。
- 解析每个文件中的名称并将它们分类到每个唯一名称的文件夹中。
- 从文件名中获取所有唯一名称的列表,然后查看此简化的唯一名称列表中的相似名称,并询问它们是否相同,一旦确定这一点,它将相应地对它们进行排序。
我打算使用 Perl,但如果值得的话,我可以尝试一门新语言。我不确定如何将目录中的每个文件名一次读入一个字符串以解析为实际名称。我也不完全确定如何在 perl 中使用正则表达式进行解析,但这可能是可搜索的。
对于排序,我只是要使用 shell 命令:
`cp filename.txt /example/destination/filename.txt`
但只是因为这就是我所知道的,所以这是最简单的。
我什至不知道我要做什么的伪代码想法,所以如果有人知道最佳的动作顺序,我会全神贯注。我想我正在寻找很多帮助,我愿意接受任何建议。非常感谢任何可以提供帮助的人。
B.