Se você estiver na criança, então: Usando o bash shell,
shopt -s dotglob
mv -t .. *
rmdir $(pwd)
Se o seu mv
não tiver -t
, então:
shopt -s dotglob
mv * ..
rmdir $(pwd)
Eu tenho dados organizados da seguinte forma:
--parent_dir
|
--4Bz27go1c
|
-- foo.md
-- bar.tar.gz
-- baz.c
..
Eu tenho um diretório pai com um nome conhecido e um diretório filho com um nome desconhecido (representado aqui como 4Bz27go1c
. Como posso copiar todo o conteúdo de dentro do diretório filho e movê-lo para dentro do diretório pai e também exclui o diretório filho agora vazio?
Para ser claro, o resultado final que estou descrevendo deve ter esta aparência:
--parent_dir
|
-- foo.md
-- bar.tar.gz
-- baz.c
..
cd parent_dir &&
set -- */ &&
for dir do
[ -L "$dir" ] && continue
mv -i -- "$dir"* "$dir"..?* "$dir".[!.]*
rmdir -- "$dir"
done