Kopiowanie zawartości wszystkich podfolderów

0

Cześć, chcę skopiować wszystkie pliki z wielu podfolderów do jednego folderu.
Myślałem, że mogę załatwić to w ten sposób: cp katalog/katalog_glowny/*/*.jpg katalog/katalog_nowy/, ale niestety tak to nie działa.
W katalog_glowny znajduje się dość dużo podfolderów i nie chcę z każdego pojedynczo kopiować zawartości. Jak uwzględnić wszystkie podkatalogi w poleceniu?

1

cp -r src_dir dest_dir to zadziała, ale skopjuje wszystko jak leci.
W twoim przypadku to co nie działa to podwójna gwiazdka na 2 poziomach zagnieżdzenia: /*/*.jpg To co może zadziałać to ** czyli /**/*.jpg
Patrz: https://stackoverflow.com/questions/28176590/what-do-double-asterisk-wildcards-mean

U mnie (na zsh) działa: screenshot-20211025175132.png

0

@0xmarcin: Niestety dwie gwiazdki działają tylko jeden podfolder niżej, jeśli tam jest kolejny katalog zagnieżdżony, to z niego nie kopiuje. Chyba, że ja coś źle robię :/
@Spearhead: Tego też chyba nie potrafię prawidłowo użyć, wpisałem swoje ścieżki i nie bangla.

0

@Spearhead: Tego też chyba nie potrafię prawidłowo użyć, wpisałem swoje ścieżki i nie bangla.

Powinno banglać, proponuję zatem debugować stopniowo:

  1. Spróbuj sobie wypisać pliki z gołym findem find ścieżna -type f -iname "*.jpg" (filtry dobierz jak ci pasuje)
  2. Jak się uda to spróbuj wypisać komendy jaka się wygenerują z użyciem opcji -exec (find . -iname "*.jpeg" -exec echo "cp {} katalog/docelowy " \;)
  3. Jak wygenerowane komendy wyglądają OK, to spróbuj je wykonać (find . -iname "*.jpeg" -exec cp "{}" katalog/docelowy \;)
1

@Fausto: wygląda na to, że problemem jest wersja find zainstalowana w BusyBox (czymkolwiek to jest - najwyraźniej nie tylko ty masz ten problem, a tutaj inny, podobny problem z find). U mnie na desktopowym Linuksie z użyciem GNU findutils nie ma problemu z poleceniem:

$ find --version
find (GNU findutils) 4.8.0
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Eric B. Decker, James Youngman, and Kevin Dalley.
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS(FTS_CWDFD) CBO(level=2) 

Najwyraźniej trzeba by napisać skrypt shella do kopiowania plików.

0

Jest jedna aplikacja która umożliwiała tą możliwośc. Wujek google pomoże

1 użytkowników online, w tym zalogowanych: 0, gości: 1