我有大量的文件来排序所有命名在一些可怕的约定。
下面是一些例子:。。。如何根据文件名将文件分类到目录?
(4)_mr__mcloughlin ____ TXT
12__sir_john_farr ____ TXT
(b)中mr__chope ____ TXT
dame_elaine_kellett-鲍曼____ TXT
dr__blackburn ______ TXT
这些名称都应该成为不同的人(发言者)。另一个IT部门的人员使用一些脚本从大量XML文件中产生了这些文件,但是您可以看到命名非常愚蠢。
我需要从字面上对数万个这些文件进行排序,每个人都有多个文本文件;每个都有一些愚蠢的东西让文件名不同,不管它是更多的下划线还是一些随机数。他们需要由演讲者排序。
用脚本来完成大部分工作会更容易,然后我可以返回并合并应该使用相同名称或其他名称的文件夹。
我在想这样做有很多方法。
- 解析每个文件的名称并将它们分类到每个唯一名称的文件夹中。
- 从文件名中获得所有唯一名称的列表,然后查看这个简化的类似名称的唯一名称列表,并询问它们是否相同,并且一旦确定它将相应地对它们进行排序。
我打算使用Perl,但我可以尝试一种新的语言,如果它是值得的。我不知道如何去读取一个目录中的每个文件名中的每个文件名,并将其解析为一个字符串以解析为实际名称。我不完全知道如何用Perl中的正则表达式解析,但这可能是可以谷歌的。
对于分选,我只是要使用的shell命令:
`cp filename.txt /example/destination/filename.txt`
,但只是导致这就是我知道,它是最容易。
我甚至没有一个伪代码想法即将做什么即使如此,如果有人知道最好的动作序列,即时通讯所有的耳朵。我想我正在寻找很多帮助,我愿意接受任何建议。许多人非常感谢任何能够帮助的人。
B.
这是一个通用的算法问题。你缺少很多规格。在定义语法规则之前,您不能“解析字符串”或“使用正则表达式”。 – Axeman 2009-02-16 20:41:32
你听起来有些沮丧,但是你认为这不是因为数据很愚蠢,而是你头脑发热?认真。这是我给第一周Perl学生的练习。 – 2009-02-16 23:21:34