Como mover os arquivos contidos em todos os subdiretórios para o diretório atual e remover os subdiretórios vazios?
Encontrei esta pergunta , mas adaptando a resposta para:
mv * .
não funcionou; Recebi muitos avisos parecidos com:
mv: wil and ./wil are identical
Os arquivos contidos nos subdiretórios têm nomes exclusivos.
fonte
-n, --no-clobber
não substitui um arquivo existente. Você pode estar interessado-b, --backup
também.Tente o seguinte:
Mais informações: Experimente o achado sozinho, ele deve fornecer uma lista com todos os arquivos que você deseja mover (deixe de fora o
-print0
). Exemplo:com
-print0
exargs
agora você está criando uma lista de instruções a serem executadas. O-J %
sinalizador significa, insira o elemento list aqui, para quemv $FILE .
seja executado para cada arquivo encontrado.O acima está funcionando para os xargs do BSD. Se você estiver usando a versão GNU (Linux), em
-I %
vez de-J %
fonte
Bash 4:
fonte
Um truque rápido, só funciona se seus arquivos tiverem extensões (com um ponto):
fonte
Basta executar este comando :-)
mv **/*.* .
fonte
.
nome, não é?