From: oleg <ulug1@mail.ru> To: community@lists.altlinux.org Subject: [Comm] массовое переименование файлов Date: Tue, 15 Jul 2008 01:42:48 +0400 Message-ID: <487BC858.1050501@mail.ru> (raw) Доброго времени суток! Посоветуйте, пожалуйста, программу для сабжа. Поиском не нашел. Для работы не в графическом режиме(нет на сервере))) И сама задача. Нужно переименовать все файлы, начинающиеся с верхнего регистра на нижний, и, если, идет несколько букв в верхнем регистре с самого начала названия файла, то понизить все, кроме последней. А файлов много)) Искать в текущей директории и во всех ее поддиректорях. Нащупал алгоритм решения, но только начинаю изучать баш, поэтому сам не справлюсь. 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 Помогите, плиз
reply other threads:[~2008-07-14 21:42 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=487BC858.1050501@mail.ru \ --to=ulug1@mail.ru \ --cc=community@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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