Отправляет email-рассылки с помощью сервиса Sendsay

file-rename

Напиши скрипт на Perl...

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.discuss&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответы:

Здравствуйте, Александр!

Thu, 11 Sep 2003 12:07:40 +0400 Вы писали:

Larry Wall, создатель Perl, предложил такой скрипт:

#!/usr/bin/perl -w
$op=shift or die "Использование: myrename expr [files]\n";
chomp(@ARGV=<STDIN>) unless @ARGV;
for (@ARGV) {
$was=$_;
eval $op;
die $@ if $@;
rename($was,$_) unless $was eq $_;
}

Коротко и круто! Позволятет выделывать всевозможные немыслимые штуки с
файлами. :-) Например, myrename 'use locale; $_ =lc($_)' *
всем файлам в каталоге имена сделает маленькими буквами, с учетом локального
контекста. Попробуй-ка это объяснить стандартной утилите rename! То бишь можно
использовать код на Perl, где "expr". Ну а про мощь регулярных выражений
молчим вааще. :-) строка вида:
myrename 's/^(.*)(\d{3})$/$2.$1/' *
переименует все файлы вида foo001, bar002,355foo004, да002, нет155 в
001.foo,002.bar, 004.355foo,002.да, 155.нет. Ну, в общем, полет фантазии не
ограничен ничем... Я этот скриптик положил в /usr/local/bin, и в случае чего
-
хрясь! - есть чем ударить по вредным файлам. :-D

Пока! Илья

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.discuss&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Chsherbakov Ilya (#2151)