The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
работа с суб директориями, !*! GTHack, 15-Ноя-06, 06:18  [смотреть все]
Есть папка A с кучей поддиректорий с разными файлами ...

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

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

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


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

  • работа с суб директориями, !*! perece, 16:08 , 15-Ноя-06 (1)
    >Есть папка 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^/

  • работа с суб директориями, !*! kvk, 19:16 , 15-Ноя-06 (2)
    >Есть папка 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. структура субдиректорий должна быть
    >сохранена
    >
    >
    >помогите плс - даже не знаю как подступиться ...


    • работа с суб директориями, !*! madskull, 01:41 , 16-Ноя-06 (3)
      >>Есть папка 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)
      но это, вроде, не совсем то: копируются и архивируются только каталоги с нужными файлами. А из задачи я понял, что должна создаваться полная иерархия подкаталогов.


      • работа с суб директориями, !*! konst, 01:45 , 16-Ноя-06 (4)
        >>>Есть папка 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. Ваш вариант проще лишь относительно. На другой задаче человек не сможет использовать такой пример, а если попробует - может чего-нибудь испортить...




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

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