URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 84057
[ Назад ]

Исходное сообщение
"Рекурсивное копирование  или что-то вроде этого..."

Отправлено sbr , 11-Фев-09 13:00 
Как возможно извлечь все файлы из подкаталогов текущей директории в другой каталог?
Скачал архивы журналов, более двух сотен. Использовал atool для распаковки и получил теперь в одной директории множество подкаталогов в каждом из которых один файл с расширением djvu. Как теперь собрать их воедино?

Содержание

Сообщения в этом обсуждении
"Рекурсивное копирование  или что-то вроде этого..."
Отправлено Pahanivo , 11-Фев-09 13:13 
>Как возможно извлечь все файлы из подкаталогов текущей директории в другой каталог?
>
>Скачал архивы журналов, более двух сотен. Использовал atool для распаковки и получил
>теперь в одной директории множество подкаталогов в каждом из которых один
>файл с расширением djvu. Как теперь собрать их воедино?

мдаа .......
find + xarg + mv


"Рекурсивное копирование  или что-то вроде этого..."
Отправлено sbr , 11-Фев-09 22:47 
>мдаа .......

Это вы к чему?

>find + xarg + mv

Спасибо. Не слыхал об этой xargs

В итоге задача решена вот так:

mkdir djvus ; find . -name "*djvu" | while read k; do mv "$k" "djvus/$i"; done


Вот такая штуковина работает:

find . -name "*.djvu"  | xargs ls
А вот как запрячь сюда mv ?


"Рекурсивное копирование  или что-то вроде этого..."
Отправлено ronin , 11-Фев-09 23:23 
>Вот такая штуковина работает:
>
>find . -name "*.djvu"  | xargs ls
>А вот как запрячь сюда mv ?

mkdir /djvus
find . -type f -name "*.djvu" -exec mv {} /djvus \;


"Рекурсивное копирование  или что-то вроде этого..."
Отправлено Pahanivo , 12-Фев-09 07:40 
>[оверквотинг удален]
>В итоге задача решена вот так:
>
>mkdir djvus ; find . -name "*djvu" | while read k; do
>mv "$k" "djvus/$i"; done
>
>
>Вот такая штуковина работает:
>
>find . -name "*.djvu"  | xargs ls
>А вот как запрячь сюда mv ?

шош ты 90% задачи решил а остальное не осилил? ))


"Рекурсивное копирование  или что-то вроде этого..."
Отправлено sbr , 12-Фев-09 11:24 
>mkdir /djvus

find . -type f -name "*.djvu" -exec mv {} /djvus \;

Спасибо. А я через xargs пытался и оно как-то не работало.


>шош ты 90% задачи решил а остальное не осилил? ))

Просто интересно почему у меня не получалось через -exec



"Рекурсивное копирование  или что-то вроде этого..."
Отправлено ronin , 12-Фев-09 11:36 
>>mkdir /djvus
>
>find . -type f -name "*.djvu" -exec mv {} /djvus \;
>
>Спасибо. А я через xargs пытался и оно как-то не работало.
>
>
>>шош ты 90% задачи решил а остальное не осилил? ))
>
>Просто интересно почему у меня не получалось через -exec

Скорее всего забыли поставить \; в конце команды:

-exec mv {} /djvus \;

Классическая ашипка.