*Drive*- Здесь рулят padonki

*Drive* - Counter Strike Source
Текущее время: 28 мар 2024, 17:43

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 06 окт 2021, 13:37 
Не в сети
Аватар пользователя

Зарегистрирован: 18 июл 2007, 21:29
Сообщений: 166
Благодарил (а): 72 раз.
Поблагодарили: 2 раз.
Итак, у нас есть куча файлов, среди которых надо навести порядок. Для этого сделаем групповое переименование.

Rename

Утилита rename входит в стандартную поставку Debian, так что начнем с нее.

Код:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]


-v отобразить имена успешно переименованных файлов.

-n отобразить список файлов, которые будут переименованы, без переименования в итерации.

-f перезаписать уже существующие файлы.

perlexpr — шаблон для переименования.

Для того, чтобы выполнить переименование файлов согласно условию, выполним команду:

Код:
# rename 's/.sh/.sh.bak/g' *.sh


Рассмотрим perlexr подробнее:

s=указывает, что требуется замещение.

/.sh/=Строка, которую будем замещать.

/.sh.bak/ = строка, на которую будем замещать

g=global, будем замещать все найденные вхождения.

С помощью rename можно быстро изменить регистр файлов. Например поднимем регистр файлов из примера:

Код:
# rename ‘y/a-z/A-Z/’ *


MMV

mmv — программа для массового перемещения, переименования, копирования, объединения файлов.

По умолчанию она не включена в состав Debian. Поставим ее:

Код:
# apt-get install mmv


Наша задача решается одной строкой:

Код:
# mmv \*.sh \#1.sh.bak


MV

Теперь решим нашу задачу стандартной командой mv. Для этого нам прийдется немного попрограммировать в bash.

Код:
for i in *.sh;

do mv $i `basename $i sh`sh.bak;

done


Попробуем усложить задачу. Например у нас есть куча файлов JPG:

1234234.jpg

e456567657.jpg

234df34.jpg



Мы хотим привести их к следующему виду:

file1.jpg

file2.jpg

file3.jpg



Пример скрипта:

Код:
j=0;

for i in *.jpg;

do let j+=1;

mv $i file$j.jpg ;

done


Midnight Commander

В любимом многими mc, процесс переименования по маске выполняется просто и непринужденно в два действия.

1. Через + выбираем файлы по маске *.sh

2. Нажимаем F6 и в destination указываем *.sh.bak

Все примеры, приведенные выше, так или иначе работают во всех Linux, BSD, Mac OS, если стоят соответствующие утилиты.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: