remove o diretório para o diretório Grandpa e exclui o diretório pai

0

Às vezes, notamos que temos contêineres aninhados inúteis (directrories).

Por exemplo

mkdir -p ~/grandpa/pa;

E pa directory é o único arquivo existente em grandpa .

Assim, todos os arquivos de pa devem ser removidos para grandpa , então pa será excluído.

A minha pergunta é que existe uma linha de comando integrada que faz essa missão:

ou seja:

orphan  ~/grandpa/pa/* ;

ou

 fatherless ~/grandpa/pa/* ;
    
por Abdennour TOUMI 12.08.2014 / 11:22

1 resposta

3

Você pode usar apenas comandos bash padrão - mv , rm , etc - por exemplo

mv ~/grandpa/pa/* ~/grandpa/ && rmdir ~/grandpa/pa/

Isto:

  • usa mv para mover os arquivos em ~/grandpa/pa/* para ~/grandpa/
  • usa && , portanto, o comando rmdir somente se o mv sair com êxito - ; poderia ser usado.
  • usa rmdir para remover o diretório pa se estiver vazio .

N.B. testado na estrutura de diretórios - antes:

$ tree ~/grandpa/
./grandpa/
|-- anotherfile.txt
'-- pa
    |-- child
    |   '-- file3.txt
    |-- file1.txt
    '-- file2.txt

2 directories, 4 files

depois:

$ tree ~/grandpa/
./grandpa/
|-- anotherfile.txt
|-- child
|   '-- file3.txt
|-- file1.txt
'-- file2.txt

1 directory, 4 files
    
por Wilf 12.08.2014 / 11:32