Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите дописать скрипт-поиск файлов и запись в.. Скрипт по поиску файлов и записи.... 
:(
    Опции темы
tedy1
Дата 16.7.2010, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 28.6.2010

Репутация: нет
Всего: нет



Сделал скрипт по поиску файлов в одной папке и переносе файлов с определенным расширением в другую папку.  А дальше в тупике (постигаю по тихонечку Perl). Подскажите что надо добавить, чтобы скрипт найдя файл с определенным расширением к примеру txt.  Файлы green.txt перенес в папку green и hello.txt перенес в папку hello и т.д. Спасибо.

Вот мой скрипт:

#!/usr/bin/perl

use File::Copy;

$path_kuda="/1/1";
$path_otkuda="/1/4";

$txt=txt;
$bat=bat;

{
opendir(MDIR,"$path_otkuda") or die "Error.\n";
@files=readdir(MDIR);
closedir(MDIR);
if (scalar(@files)==0)
  {    
  die "No files\n";
   }

for ($j=0;$j <= scalar(@files);$j++)
    {
        if (($files[$j] =~m|.*$txt|i) or ($files[$j] =~m|.*$bat|i))
        {
        copy("$path_otkuda/$files[$j]","$path_kuda");
}}}
PM MAIL   Вверх
arto
Дата 16.7.2010, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



# perl -MFile::Copy -e 'foreach (glob "$ARGV[0]/*.{bat,txt}") { copy $_,$ARGV[1] }' /1/4 /1/1

Это сообщение отредактировал(а) arto - 16.7.2010, 12:36
PM MAIL ICQ   Вверх
tedy1
Дата 16.7.2010, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 28.6.2010

Репутация: нет
Всего: нет



arto, 

так он просто скопирует в папку /1/1.

А мне надо чтобы исходя из названия файла green.txt скопировал этот файл в папку green, если файл с названием hello.txt в папку hello, как файл называется в такую папку его и помешать....
PM MAIL   Вверх
arto
Дата 16.7.2010, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



perl -MFile::Copy -e 'foreach (glob "$ARGV[0]/*.{bat,txt}") { copy $_,$ARGV[1] . "/" . ( split "[/.]" )[-2] }' /1/4 /1/1
PM MAIL ICQ   Вверх
tedy1
Дата 16.7.2010, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 28.6.2010

Репутация: нет
Всего: нет



arto, 

Спасибо большое, а как сделать, чтобы green.txt он переписывал в  папку в green, но название файла изменял на txt1?
PM MAIL   Вверх
arto
Дата 16.7.2010, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



50€/hour
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.