Qual seria uma boa maneira de mover um tipo de arquivo de um diretório e de todos os seus subdiretórios?
Como "mova todos * .ogg em / thisdir recursivamente para / somedir". Eu tentei algumas coisas; meu melhor esforço foi (ainda não tão bom):
find /thisdir -type f -name '*.ogg' -exec mv /somedir {} \;
Ele retornou em cada linha antes de cada nome de arquivo,
mv: cannot overwrite non-directory `/thisdir/*.ogg' with directory `/somedir'
command-line
directory
find
rename
Steve Burdine
fonte
fonte
mv -i
aqui, assim você não corre o risco de sobrescrever arquivos se algo inesperado acontecer.mv -t <targetdir>
e + em vez de \;Você meio que trocou os argumentos para mv
fonte
No zsh ou no bash 4, para reunir todos os
*.ogg
arquivos em/somedir
:Se você deseja reproduzir a hierarquia de diretórios: (aviso, digitado diretamente no navegador)
fonte