$ cd /path/to/folderA
$ mv folderB/* .
$ rmdir folderB
Eu tenho um folderA que contém o folderB que contém muitos arquivos. Eu gostaria de se livrar da pasta B, mas não o seu conteúdo. Eu quero que o conteúdo esteja dentro de folderA. Como posso conseguir isso na linha de comando?
$ cd /path/to/folderA
$ mv folderB/* .
$ rmdir folderB
Resposta rápida:
cd /path/to/folderA
find folderB -maxdepth 1 -mindepth 1 -exec mv {} . \;
rmdir folderB
Resposta resistente ao código:
cd /path/to/folderA
folderB_temp="$(mktemp -d -t folderB.XXXXXX)"
mv folderB "$folderB_temp"
find "$folderB_temp/folderB" -maxdepth 1 -mindepth 1 -exec mv {} . \;
rmdir --parents --ignore-fail-on-non-empty "$folderB_temp/folderB"
Tags command-line linux