phd_ru: (Default)
[personal profile] phd_ru
Пусть есть большой список директорий типа

АЙВАЗОВСКИЙ Иван
БРЮЛЛОВ Карл
ШИШКИН Иван

Всего сотни три директорий. Хочется переименовать их в

Айвазовский Иван
Брюллов Карл
Шишкин Иван

Переименовывать их руками - утомительно, и велика вероятность опечаток. Писать программу переименования самому - лень для одноразовой задачи.

Программа mmv умеет копировать/переименовывать файлы по маске, но довольно долго я не мог ей воспользоваться - она падала по segfault. И шаблоны у неё более примитивные. И её конверсия регистра работает только с ascii.

Вот как это делается в mc - переименовать файлы/директории по исходной маске
^\(.\)\([^ ]+\) \(.\)\(.+\)$
в результирующую маску
\u\1\L\2\E \u\3\L\4

\u и \l выполняют смену регистра для одного следующего символа, \U и \L для всех до \E или до конца файла. Шаблоны \1-\4 соответствуют исходным скобочкам - 1 символ фамилии, потом остаток фамилии до пробела, 1 символ имени, потом остаток имени до конца строки. При этом
"БОРИСОВ-МУСАТОВ Виктор Эльпидифорович"
переименовался в
"Борисов-мусатов Виктор эльпидифорович"
, но несколько подобных ошибок я исправил уже вручную.

А потом меня спрашивают, и чего я им всё время пользуюсь...
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

January 2026

S M T W T F S
     123
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 13th, 2026 07:10 pm
Powered by Dreamwidth Studios