Existem muitas maneiras de derrubar uma árvore, como todos nós sabemos.
- Aqui estão algumas maneiras de fazer isso.
- Com
mv
$ mv * .[^.]* ..
Observação importante: isso não corresponderá a arquivos que começam com ..
- Se você deseja combinar arquivos começando com
..
e, em vez disso,--
use omv
comando abaixo .
$ mv -- * .[^.] .??* ..
- que corresponderá a tudo, exceto
.
e..
.. *
corresponderá a tudo que não comece com a.
e.[^.]
corresponderá a todos os nomes de arquivo de 2 caracteres começando com um ponto exceto..
, e.??*
corresponderá a todos os nomes de arquivo que começam com um ponto com pelo menos 3 caracteres. Bem como--
para combinar arquivos começando com um travessão.
- Com
shopt
$ (shopt -s dotglob; mv -- * ..)
isso ajuda você a arquivos começando com ..
- O texto acima é colocado entre parênteses para que seja executado em um subshell e, portanto, os arquivos que começam com
--
não são interpretados como argumentos paramv
.
- Outra alternativa com
find
$ find . -mindepth 1 -maxdepth 1 -exec mv -t.. -- {} +
- Se você tiver
rsync
em sua máquina, você pode usar isso. (Pelorsync
que eu conheço, o Windows não tem uma boa porta . Se alguém souber de uma para Git Bash, eu adoraria saber).
$ rsync -a --remove-source-files . ..
Com o comando acima, estamos dizendo ao rsync para copiar o conteúdo de
.
em..
A opção
-a
permite a recursão em.
subdiretórios e permite algumas outras opções comuns.A opção
--remove-source-files
dizrsync
para remover os arquivos de origem após uma cópia bem-sucedida, ou seja, faz com quersync
se comportem de forma semelhante aomv
comando.Aproveitar.