У меня есть огромное количество файлов для сортировки всех названных по какому-то ужасному соглашению.
Вот несколько примеров:
(4) _mr__mcloughlin ____. TXT
12__sir_john_farr ____. TXT
(Б) mr__chope ____. TXT
dame_elaine_kellett-лучник ____. TXT
dr__blackburn ______. txt
Эти имена должны быть разными (носителями). Кто-то в другом ИТ-отделе произвел их из тонны XML-файлов, используя какой-то сценарий, но, как вы можете видеть, наименование глупо глупо.
Мне нужно отсортировать буквально десятки тысяч этих файлов с несколькими текстовыми файлами для каждого человека; каждый с чем-то глупым, делающим имя файла другим, будь то знак подчеркивания или случайное число. Их нужно отсортировать по динамику.
Это было бы проще, если бы скрипт выполнял большую часть работы, тогда я мог бы просто вернуться назад и объединить папки, которые должны быть под тем же именем или чем-то еще.
Есть несколько способов, которыми я думал об этом.
- разбирает имена из каждого файла и сортирует их по папкам для каждого уникального имени.
- получить список всех уникальных имен из имен файлов, затем просмотреть этот упрощенный список уникальных имен для похожих и спросить меня, совпадают ли они, и как только он определит это, он отсортирует их все соответствующим образом.
Я планирую использовать Perl, но я могу попробовать новый язык, если оно того стоит. Я не уверен, как перейти к чтению каждого имени файла в каталоге по очереди в строку для анализа действительного имени. Я не совсем уверен, как разобрать с regex в Perl, но это может быть googleable.
Для сортировки я просто собирался использовать команду оболочки:
`cp filename.txt /example/destination/filename.txt`
но только потому, что это все, что я знаю, так что проще всего.
У меня даже нет идеи псевдокода о том, что я собираюсь делать, поэтому, если кто-то знает лучшую последовательность действий, я весь слух. Я думаю, я ищу много помощи, я открыт для любых предложений. Большое, большое спасибо всем, кто может помочь.
B.