|
|
|
(Perl) сканирование дерева каталогв
|
|||
|---|---|---|---|
|
#18+
Друзья, Задача сканирования дерева каталогов. Чувствую, что пахнет тут рекурсией. Словом задача такая. Есть список файлов. Их надо будет скопировать в во все подкаталоги последнего уровня с именем new всех имеющихся каталогов. Как вы догадалось, речь идёт о рассылке почты. И второй вопрос. Можно ли использовать системный вызов cp для осуществления этого копирования? Заранее спасибо за отзывы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 09:24 |
|
||
|
(Perl) сканирование дерева каталогв
|
|||
|---|---|---|---|
|
#18+
> Чувствую, что пахнет тут рекурсией. Ты прав, именно рекурсия . Что-то подобное мы как-то в универе делали. Давно это было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 10:08 |
|
||
|
(Perl) сканирование дерева каталогв
|
|||
|---|---|---|---|
|
#18+
File::Copy ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 10:12 |
|
||
|
(Perl) сканирование дерева каталогв
|
|||
|---|---|---|---|
|
#18+
Чисто средствами shell Код: plaintext Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 10:42 |
|
||
|
(Perl) сканирование дерева каталогв
|
|||
|---|---|---|---|
|
#18+
вот скрипт, который удаляет комментарии из всех java файлов в текущем каталоге и всех подкаталогах. sub convert { my $dir = shift; while (<$dir/*.java>) { print $_."\n"; @lines = (); open(F, $_); while ($line = <F>) { $line =~ s|//.*$||; @lines = (@lines, $line); } close(F); $full = join("", @lines); $full =~ s/\/\*(.|\n)*?\*\///g; open(F, ">".$_); print F $full; close(F); } } sub work_folder { my $dir=shift; return 0 unless $dir; if (-d $dir) { convert($dir); } foreach $f (glob("$dir/*")) { # Пропускаем спецфайлы . и .. if (!($f=~m/.*\.\.?$/)) { my $filename="$f"; if (-d $filename) { work_folder($filename); } } } } work_folder("."); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 13:52 |
|
||
|
(Perl) сканирование дерева каталогв
|
|||
|---|---|---|---|
|
#18+
XMЧисто средствами shell Код: plaintext Код: plaintext 1. 2. 3. 4. более чисто таки так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 17:17 |
|
||
|
(Perl) сканирование дерева каталогв
|
|||
|---|---|---|---|
|
#18+
Вот моё решение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2005, 00:15 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33022534&tid=1478402]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
427ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 792ms |

| 0 / 0 |
