The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"работа с суб директориями"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"работа с суб директориями"  
Сообщение от GTHack email(ok) on 15-Ноя-06, 06:18 
Есть папка A с кучей поддиректорий с разными файлами ...

задача 1. заархивировать директорию со всеми под-директориями, но только файлы *.txt (файлы должны остаться)

задача 2. скопировать все под-директории, все файлы *.log директории А в директорию Б

и по задаче 1. и по задаче 2. структура субдиректорий должна быть сохранена


помогите плс - даже не знаю как подступиться ...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "работа с суб директориями"  
Сообщение от perece on 15-Ноя-06, 16:08 
>Есть папка A с кучей поддиректорий с разными файлами ...
>
>задача 1. заархивировать директорию со всеми под-директориями, но только файлы *.txt (файлы
>должны остаться)
>
>задача 2. скопировать все под-директории, все файлы *.log директории А в директорию

>
>и по задаче 1. и по задаче 2. структура субдиректорий должна быть
>сохранена
>
>
>помогите плс - даже не знаю как подступиться ...
написать скрипт, который будет целью конструкции "find -exec"
find -type d -o -name '*.txt' -exec script {} \;

тестить $1 на предмет является ли директорией, и стсно либо выполнять mkdir fullpathtodirb/$1
либо gzip -c $1 >fulpathtodirb/$1.gz

вторая - аналогично (можно в один проход, тогда появится еще проверка на имя - txt или log в скрипте и еще одно условие по -o в файнде)

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "работа с суб директориями"  
Сообщение от kvk email on 15-Ноя-06, 19:16 
>Есть папка A с кучей поддиректорий с разными файлами ...
>
>задача 1. заархивировать директорию со всеми под-директориями, но только файлы *.txt (файлы
>должны остаться)
cd <DIR>
tar -czvf DIR_2.tgz `find ./ | grep "[.]txt$"`
>задача 2. скопировать все под-директории, все файлы *.log директории А в директорию

cd DIR_A
tar -czvf DIR_2.tgz `find ./ | grep "[.]log$"
cd DIR_B
tar -xzvf DIR_2.tgz
>и по задаче 1. и по задаче 2. структура субдиректорий должна быть
>сохранена
>
>
>помогите плс - даже не знаю как подступиться ...


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "работа с суб директориями"  
Сообщение от madskull (ok) on 16-Ноя-06, 01:41 
>>Есть папка A с кучей поддиректорий с разными файлами ...
>>
>>задача 1. заархивировать директорию со всеми под-директориями, но только файлы *.txt (файлы
>>должны остаться)
>cd <DIR>
>tar -czvf DIR_2.tgz `find ./ | grep "[.]txt$"`
>>задача 2. скопировать все под-директории, все файлы *.log директории А в директорию
>>Б
>cd DIR_A
>tar -czvf DIR_2.tgz `find ./ | grep "[.]log$"
>cd DIR_B
>tar -xzvf DIR_2.tgz
>>и по задаче 1. и по задаче 2. структура субдиректорий должна быть
>>сохранена
>>
>>
>>помогите плс - даже не знаю как подступиться ...
Все это делается проще:
1. cd <DIR>; tar c --files-from=<(find -name '*.txt') -f DIR.tar
2. (cd DIR_A;tar c --files-from=<(find -name '*.log')) | (cd DIR_B; tar x)
но это, вроде, не совсем то: копируются и архивируются только каталоги с нужными файлами. А из задачи я понял, что должна создаваться полная иерархия подкаталогов.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "работа с суб директориями"  
Сообщение от konst email(??) on 16-Ноя-06, 01:45 
>>>Есть папка A с кучей поддиректорий с разными файлами ...
>>>
>>>задача 1. заархивировать директорию со всеми под-директориями, но только файлы *.txt (файлы
>>>должны остаться)
>>cd <DIR>
>>tar -czvf DIR_2.tgz `find ./ | grep "[.]txt$"`
>>>задача 2. скопировать все под-директории, все файлы *.log директории А в директорию
>>>Б
>>cd DIR_A
>>tar -czvf DIR_2.tgz `find ./ | grep "[.]log$"
>>cd DIR_B
>>tar -xzvf DIR_2.tgz
>>>и по задаче 1. и по задаче 2. структура субдиректорий должна быть
>>>сохранена
>>>
>>>
>>>помогите плс - даже не знаю как подступиться ...
>Все это делается проще:
>1. cd <DIR>; tar c --files-from=<(find -name '*.txt') -f DIR.tar
>2. (cd DIR_A;tar c --files-from=<(find -name '*.log')) | (cd DIR_B; tar x)
>
>но это, вроде, не совсем то: копируются и архивируются только каталоги с
>нужными файлами. А из задачи я понял, что должна создаваться полная
>иерархия подкаталогов.

ну дак при разархивации он и образуется :)

PS. Ваш вариант проще лишь относительно. На другой задаче человек не сможет использовать такой пример, а если попробует - может чего-нибудь испортить...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру