Пожалуйста, уточните: загрузка подкаталогов с одним файлом в каждом?
Jarmund
На самом деле все они находятся в подкаталогах и, да, с одним файлом, который вызывается. *. Radiate
Jackson Hart
Ответы:
1
Если есть более простой способ, я не знаю, но вот простой Perl-скрипт, который сделает эту работу за вас:
#!/usr/bin/perl
use warnings;
use strict;
my $oldname = '*.radiate'; # Pattern of old filename. Edit if desired.
my $newname = 'in.radiate'; # New filename. Edit if desired.
foreach my $folder1 (glob("*"))
{
if (-d $folder1)
{
foreach my $folder2 (glob("$folder1/*"))
{
if (-d "$folder2")
{
print "Processing $folder2\n";
system("mv $folder2/$oldname $folder2/$newname");
}
}
}
}
Вставьте это в файл с именем, например, rename.pl в каталоге, где находятся все подкаталоги, и запустите его с perl rename.pl,
В нем есть ошибка / функция, позволяющая узнать, не обрабатывается ли папка .radiate файл.
Вероятно, есть много более коротких способов сделать это, но это должно быть достаточно читабельным, чтобы «любой» мог отредактировать, если это необходимо.
РЕДАКТИРОВАТЬ: Обновлено, чтобы пересмотреть подкаталоги подкаталогов, поскольку я неправильно прочитал оригинальный вопрос. Протестировал его на моей машине, и он работает как задумано на Linux Mint 17 с Perl 5.18.2
Это не работает, потому что они находятся в подпапках, а не в подпапках
Jackson Hart
Можно ли распространить его на подпапки?
Jackson Hart
@JacksonHart Я не заметил, что вы сказали «subub», но да, может, и я только что сделал. Я также добавил возможность изменить шаблон имени файла для поиска
Ответы:
Если есть более простой способ, я не знаю, но вот простой Perl-скрипт, который сделает эту работу за вас:
Вставьте это в файл с именем, например,
rename.pl
в каталоге, где находятся все подкаталоги, и запустите его сperl rename.pl
,В нем есть ошибка / функция, позволяющая узнать, не обрабатывается ли папка
.radiate
файл.Вероятно, есть много более коротких способов сделать это, но это должно быть достаточно читабельным, чтобы «любой» мог отредактировать, если это необходимо.
РЕДАКТИРОВАТЬ: Обновлено, чтобы пересмотреть подкаталоги подкаталогов, поскольку я неправильно прочитал оригинальный вопрос. Протестировал его на моей машине, и он работает как задумано на Linux Mint 17 с Perl 5.18.2
источник