ls imprimirá caracteres não-ASCII (ou caracteres não suportados no local atual) como ? . Esta é uma das razões pelas quais analisar a saída de ls é uma coisa ruim a se fazer. A saída de ls deve ser vista . Em alguns casos, assim, esses não são os nomes reais que existem no sistema de arquivos.
Tente, em vez disso, algo como (esses arquivos serão excluídos de todos e diretórios, incluindo /path/to/dir )
rm -rf /path/to/dir
ou
find /path/to/dir -delete
ou
find /path/to/dir -exec rm -rf {} +
ou
find /path/to/dir -print0 | xargs -0 rm -rf
Modifique para atender às suas necessidades. Para excluir apenas arquivos, adicione -type f após o caminho nos exemplos find , por exemplo.
Fazer apenas rm -rf * dentro desse diretório (que é importante , o diretório de trabalho atual deve ser o diretório cujos arquivos e diretórios você deseja excluir) também pode ser suficiente .
Veja também Por que não analisa ls ?