* [Comm] массовое переименование файлов
@ 2008-07-14 21:42 oleg
0 siblings, 0 replies; only message in thread
From: oleg @ 2008-07-14 21:42 UTC (permalink / raw)
To: community
Доброго времени суток!
Посоветуйте, пожалуйста, программу для сабжа. Поиском не нашел. Для
работы не в графическом режиме(нет на сервере)))
И сама задача. Нужно переименовать все файлы, начинающиеся с верхнего
регистра на нижний, и, если, идет несколько букв в верхнем регистре с
самого начала названия файла, то понизить все, кроме последней. А файлов
много)) Искать в текущей директории и во всех ее поддиректорях.
Нащупал алгоритм решения, но только начинаю изучать баш, поэтому сам не
справлюсь.
1 - понизить регистр 1-й буквы всех назв. файлов
find . -type f | while read fpath; do mv "$fpath" "$(echo "$fpath"| sed
's,^\(.*/\)\(.\),\1\l\2,')" ; done (помогли на opennet.ru madskull и Андрей)
2 - искать во всех именах, где встречаются 2 или более буквы в верхнем
регистре рядом
3 - запустить цикл
а) если 3 буква в верхнем регистре
то понизить регистр 2-й буквы и продолжать обрабатывать
если нет, то не обрабатывать
б) если 4-я буква в верхнем регистре
то понизить регистр 3-ей буквы ... и т.д. до n
Помогите, плиз
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-07-14 21:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-14 21:42 [Comm] массовое переименование файлов oleg
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git