我有大量的文件來排序所有命名在一些可怕的約定。
下面是一些例子:。。。如何根據文件名將文件分類到目錄?
(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