Попавший Ламер
Зарегистрирован: 16.04.2003 Сообщения: 326
|
Добавлено: Пн Авг 20 2007 09:43 Заголовок сообщения: Помогите со скриптиком... |
|
|
Всем доброго.
Тут подогнали задание вытащить с упавшего сервера корпоративную переписку за 3 года.
все бы ничего, но письма хранятся в виде файлов с разными символами, не распознаваемыми windows. Файлов этих тьма. ls среднего ящика работает 3-5 минут.
Нужен скрипт, чтоб приделать файлу расширение, и выкинуть из имени ":", ";" и ","
Напрямую rename ругается на слишком много параметров.
Итого... до чего я додумался:
Код: |
.....
cd $mailbox;
for i in *; do rename 's/$/\.eml/' $i; done;
#переименовали...
cd ..
|
Как сделать чтоб еще и заменились ":", ";" и "," на "." к примеру? Их может быть разное количество в названии файла. Один проход такого скрипта займет часов 20... (уж больно файлов дочерта).
Можно как нибудь в этот прогон запихать замену символов? Подобрать выражение, или несколько раз проделать? |
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Авг 20 2007 10:54 Заголовок сообщения: |
|
|
Делай это все через утилиту find
Она умеет искать и если нашла, то запустить внешний скрипт.
Тогда все получится за один прогон и гораздо быстрее.
Сейчас же ты сможешь выдрать только часть файлов, которые влезут в системный буфер. Если файлов действительно много, то только find тебе поможет. |
|