Como remover o diretório pai sem excluir subpastas?

0

Por exemplo,

Eu tenho 5 diretórios dentro do diretório pai, eu quero excluir o diretório pai sem excluir 5 subdiretórios.

A partir de agora, estou fazendo abaixo o código

 mv parentFolder/* parentFolder/.. && rm -rf parentFolder

Temos alguma outra opção mais simples que essa?

    
por EBIN GLADSON 13.08.2018 / 12:43

1 resposta

1

mv parentFolder/* parentFolder/..

Mudaria todos os arquivos (não ocultos), não apenas os do tipo diretório .

Para mover somente os diretórios, com zsh (também encurtando o código)

(){mv $1/{*(/),..} && rm -rf $1} parentFolder

Ou para incluir os ocultos:

(){mv $1/{*(D/),..} && rm -rf $1} parentFolder
  • (){..$1..} arg : função anônima com um argumento (para fatorar o parentFolder )
  • {a,b} csh-style brace expansion, também para fatorizar
  • (/) : qualificador de glob para selecionar apenas diretórios. Você também pode fazer */ (que também funcionaria em bash , mas também incluiria links simbólicos para diretórios).
  • (D/) : D para arquivos de pontos (arquivos ocultos cujo nome começa com . ).
por 13.08.2018 / 12:54

Tags