Use find
para isso:
find . ! -name '.*' ! -type d -exec rm -- {} +
Eu quero "limpar" todos os arquivos de um diretório, incluindo todos os arquivos em subdiretórios, mas eu quero deixar os subdiretórios no lugar. Meu entendimento de rm -r
é que ele também excluirá os próprios subdiretórios.
Eu não quero excluir arquivos ocultos (ponto).
Como isso pode ser feito?
tente algo como:
find <path> ! -name '.*' -type f -exec rm {} \;
Tags command-line find rm