* [Comm] Копирование файлов по типу
@ 2021-10-20 10:44 А. Куликовский
2021-10-20 11:06 ` Alexei Mezin
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: А. Куликовский @ 2021-10-20 10:44 UTC (permalink / raw)
To: ALT Linux Community
Добрый день.
Проблема: есть дерево каталогов со смесью файлов разных типов. Нужно
скопировать (перенести) все файлы только определённых типов в другое
место _с сохранением структуры каталогов_. Можно с консоли или в MC.
Где-то есть самописный FPC модуль обхода дерева, можно было бы дописать,
но должно быть и более разумное решение.
Спасибо.
--
Анатолий
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Копирование файлов по типу
2021-10-20 10:44 [Comm] Копирование файлов по типу А. Куликовский
@ 2021-10-20 11:06 ` Alexei Mezin
2021-10-20 11:14 ` Alexei Mezin
2021-10-20 11:24 ` Anton V. Boyarshinov
2021-10-20 18:32 ` Andrey Savchenko
2 siblings, 1 reply; 6+ messages in thread
From: Alexei Mezin @ 2021-10-20 11:06 UTC (permalink / raw)
To: community
20.10.2021 13:44, А. Куликовский пишет:
> Проблема: есть дерево каталогов со смесью файлов разных типов. Нужно
> скопировать (перенести) все файлы только определённых типов в другое
> место _с сохранением структуры каталогов_. Можно с консоли или в MC.
Может так?
find ./ОТКУДА/ -type f -name *.h -exec cp --parent '{}' /КУДА \;
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Копирование файлов по типу
2021-10-20 11:06 ` Alexei Mezin
@ 2021-10-20 11:14 ` Alexei Mezin
0 siblings, 0 replies; 6+ messages in thread
From: Alexei Mezin @ 2021-10-20 11:14 UTC (permalink / raw)
To: community
20.10.2021 14:06, Alexei Mezin пишет:
>
> Может так?
>
> find ./ОТКУДА/ -type f -name *.h -exec cp --parent '{}' /КУДА \;
>
Вторая ссылка в google("linux copy files with directory structure")
выдает еще множество вариантов :)
https://unix.stackexchange.com/questions/83593/copy-specific-file-type-keeping-the-folder-structure/107647
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Копирование файлов по типу
2021-10-20 10:44 [Comm] Копирование файлов по типу А. Куликовский
2021-10-20 11:06 ` Alexei Mezin
@ 2021-10-20 11:24 ` Anton V. Boyarshinov
2021-10-20 15:56 ` Vladimir D. Seleznev
2021-10-20 18:32 ` Andrey Savchenko
2 siblings, 1 reply; 6+ messages in thread
From: Anton V. Boyarshinov @ 2021-10-20 11:24 UTC (permalink / raw)
To: А.
Куликовский
Cc: ALT Linux Community general discussions
В Wed, 20 Oct 2021 13:44:43 +0300
А. Куликовский <kae@tut.by> пишет:
> Проблема: есть дерево каталогов со смесью файлов разных типов. Нужно
> скопировать (перенести) все файлы только определённых типов в другое
> место _с сохранением структуры каталогов_. Можно с консоли или в MC.
Я в таких случаях копирую всё дерево через cp -al (чтоб не занимать
лишнего места), а потом удаляю лишнее при помощи
find -not -name '*.type' -delete
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Копирование файлов по типу
2021-10-20 11:24 ` Anton V. Boyarshinov
@ 2021-10-20 15:56 ` Vladimir D. Seleznev
0 siblings, 0 replies; 6+ messages in thread
From: Vladimir D. Seleznev @ 2021-10-20 15:56 UTC (permalink / raw)
To: ALT Linux Community general discussions
On Wed, Oct 20, 2021 at 02:24:31PM +0300, Anton V. Boyarshinov wrote:
> В Wed, 20 Oct 2021 13:44:43 +0300
> А. Куликовский <kae@tut.by> пишет:
>
> > Проблема: есть дерево каталогов со смесью файлов разных типов. Нужно
> > скопировать (перенести) все файлы только определённых типов в другое
> > место _с сохранением структуры каталогов_. Можно с консоли или в MC.
>
> Я в таких случаях копирую всё дерево через cp -al (чтоб не занимать
> лишнего места), а потом удаляю лишнее при помощи
> find -not -name '*.type' -delete
У этого решения есть проблема, что скопированные файлы представляют
собой жёсткие ссылки, что может быть нежелательно. Но это легко
исправить с помощью следующего рецепта:
find $dir -type f -exec sed -i ';;' '{}' ';'
где $dir -- каталог, в который копировались файлы.
--
WBR,
Vladimir D. Seleznev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Копирование файлов по типу
2021-10-20 10:44 [Comm] Копирование файлов по типу А. Куликовский
2021-10-20 11:06 ` Alexei Mezin
2021-10-20 11:24 ` Anton V. Boyarshinov
@ 2021-10-20 18:32 ` Andrey Savchenko
2 siblings, 0 replies; 6+ messages in thread
From: Andrey Savchenko @ 2021-10-20 18:32 UTC (permalink / raw)
To: ALT Linux Community general discussions
[-- Attachment #1: Type: text/plain, Size: 1546 bytes --]
On Wed, 20 Oct 2021 13:44:43 +0300 А. Куликовский wrote:
> Добрый день.
>
> Проблема: есть дерево каталогов со смесью файлов разных типов. Нужно
> скопировать (перенести) все файлы только определённых типов в другое
> место _с сохранением структуры каталогов_. Можно с консоли или в MC.
>
> Где-то есть самописный FPC модуль обхода дерева, можно было бы дописать,
> но должно быть и более разумное решение.
Для rsync можно сколь угодно сложную систему фильтров написать, что
позволяет как обойти ограничения критериев find (хотя они тоже
достаточно широкие), так и не возится с cp -l (хотя бы потому, что
это невозможно между разными файловыми системами). При этом можно
распорядится что делать с жесткими ссылками (сохранять или
копировать) и тонко настроить многие другие аспекты. См. FILTER
RULES и последующие разделы в man rsync.
Пример:
rsync -av --exclude '**.bak' src dst
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-10-20 18:32 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-20 10:44 [Comm] Копирование файлов по типу А. Куликовский
2021-10-20 11:06 ` Alexei Mezin
2021-10-20 11:14 ` Alexei Mezin
2021-10-20 11:24 ` Anton V. Boyarshinov
2021-10-20 15:56 ` Vladimir D. Seleznev
2021-10-20 18:32 ` Andrey Savchenko
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git