No zsh:
rm *(^/)
Outros shells não têm equivalentes aos qualificadores do zsh. Em vez disso, você pode chamar find
, que é capaz de discriminar arquivos por tipo, e dizer para não recorrer a subdiretórios além de .
(o diretório inicial).
find . -name . -o -type d -prune -o rm -f {} +
Isso exclui os arquivos de pontos, enquanto *
não corresponde aos arquivos de pontos. Se você deseja preservar os arquivos de ponto, informe find
para não chamar rm
neles.
find . -name . -o -type d -prune -o ! -name '.*' rm -f {} +
(Você pode usar -mindepth
, -maxdepth
e -delete
, mas somente se não precisar que seu script seja executado em sistemas em que find
não tenha essas opções. As opções que usei são portáteis .)