Move todos os arquivos e pastas, exceto as pastas com o nome .foo

1

Eu tenho a estrutura de pastas, onde algumas das subpastas têm uma subpasta .foo dentro. Eu quero mover a estrutura de pasta raiz de foldera para folderb. Como posso fazer isso?

    
por Random255 21.04.2011 / 19:29

1 resposta

1

Se você pode remover as pastas .foo, então é simples ... simplesmente exclua-as e depois mova tudo:

find foldera -type d -name .foo -exec rm -rf '{}' \;
mv foldera folderb

Se você quiser manter as pastas .foo, então você pode mover a coisa toda e então mover apenas as pastas .foo de volta:

mv foldera folderb
cd folderb
find -type d -name .foo -exec mkdir ../foldera/'{}' -p \;
find -type d -name .foo -exec mv '{}' ../foldera/'{}' \;

Espero que isso ajude.

    
por 21.04.2011 / 22:01