shell script linux: como mover todas as subpastas com um nome dado?

2

Gostaria de mover todas as sub-pastas começando com um dado sufixo (Blah_ no exemplo) para outro diretório usando um script bash do Linux. Veja como o script se parece:

srcDir="/home/me/"
archiveDir="/Archive/"
prefix="Blah_"
mv -v -f "$srcDir$prefix*" -t $archiveDir

Embora existam muitos diretórios começando com 'Blah_', dentro de / home / me, isso leva à seguinte mensagem de erro:

mv: cannot stat '/home/me/Blah_*': No such file or directory

Agora estou curioso o que está errado aqui. Como o script acima deve ser alterado para mover todas as subpastas começando com 'Blah' para a pasta de arquivamento?

    
por Tolaksa 08.08.2012 / 23:04

2 respostas

3
mv -v -f ${srcDir}${prefix}* -t $archiveDir

neste caso, se você citar, * será interpretado literalmente

    
por 08.08.2012 / 23:07
1

Que tal:

find   /home/me   -type   d   -name   "Blah_*"   -exec   mv   -i  {}  /Archive \;
    
por 08.08.2012 / 23:28