Видео смотреть бесплатно

Смотреть супер видео

Официальный сайт avto4avto 24/7/365

Смотреть видео бесплатно

WeLinux.ru

06.03.09 16:32booley

PHP и PERLМассовое переименование файлов

Повседневное применение / Перл

Понадобилось переименовать кучу файлов из формата
файлнэйм.с.тхт в файлнэйм.с
Каждый файл переименовывать жутко не хотелось.
Команда mv *.txt * слишком утопична :)


Задача ясна, начинаем решать.

Сначала нужно разработать алгоритм решения. На человечьем наречии.

1
2
3
получить исходный список файлов
получить конечный список файлов
переименовать каждый элемент 1 в соответствующий элемент 2


Теперь идем далее - наброски некоторых моментов.

1
2
3
получить список файлов нужно по связке ls | grep
регулярные выражения - сила, нужно читать ман
переименовывать по mv


Приступаем к разработке самого скрипта.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
# 'rename throught pattern' script
# получаем список файлов через ls | grep
#
# столько слэшей нужно потому, что слэш
# экранируется перлом. то есть grep
# идет \\.txt
@list1=split("\n",`ls | grep \\\\.txt`);

# изначально второй список равен первому
@list2=@list1;

# регулярное выражение через for
# замена окончания .txt на ничего
# $#list1 = индекс последнего элемента
# массива

for ($i=0;$i<=$#list1;$i++) {
@list2[$i] =~ s/\.txt$//;
`mv @list1[$i] @list2[$i]`;
}
 
+1
Astramak06.03.09 17:35# +0
Мне кажется нужно разделить блог на два...
booley06.03.09 17:42# +0
Как? Я не нашел такой кнопки. Сделаете - хорошо
Astramak06.03.09 17:53# +0
Переименовать этот и создать второй...
booley06.03.09 17:55# +0
Я не нашел именно кнопки переименовать...
Astramak06.03.09 21:33# +0
Написать лс exelens
booley07.03.09 11:07# +0
Они точно работают?
poizon06.03.09 18:35# +0
на перле можно все не много проще сделать
for (grep {chomp;s/\.txt$//;} `ls | grep '\\.txt'`) {
`mv $_\.txt $_`;
}
Minoru06.03.09 20:27# +0
В Debian (и не только в нём) есть замечательная утилита rename, которая принимает на вход регексп и список файлов.
Хотя, конечно, на системах, где rename'а нету, придётся сочинять нечто вроде вышеописанного.
booley06.03.09 20:32# +0
Не знал о ней, пришлось писать скрипт :)
KerneL07.03.09 03:48# +0
Да, такой своеобразный способ имеет место быть полезным, молодец автор. Например в нашей универской 5й солярке. Мб я бы лучше для скриптов блог выбрал для этой темы
©Welinux
Идея сайта exelens
Движок 0byte, разработчик nvbn
Дизайн - Astramak

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн