From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.2.4 Message-ID: <487BC858.1050501@mail.ru> Date: Tue, 15 Jul 2008 01:42:48 +0400 From: oleg User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: community@lists.altlinux.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam: Not detected X-Mras: OK Subject: [Comm] =?utf-8?b?0LzQsNGB0YHQvtCy0L7QtSDQv9C10YDQtdC40LzQtdC90L4=?= =?utf-8?b?0LLQsNC90LjQtSDRhNCw0LnQu9C+0LI=?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jul 2008 21:40:29 -0000 Archived-At: List-Archive: List-Post: Доброго времени суток! Посоветуйте, пожалуйста, программу для сабжа. Поиском не нашел. Для работы не в графическом режиме(нет на сервере))) И сама задача. Нужно переименовать все файлы, начинающиеся с верхнего регистра на нижний, и, если, идет несколько букв в верхнем регистре с самого начала названия файла, то понизить все, кроме последней. А файлов много)) Искать в текущей директории и во всех ее поддиректорях. Нащупал алгоритм решения, но только начинаю изучать баш, поэтому сам не справлюсь. 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 Помогите, плиз