Se todos os seus diretórios tiverem nomes de dígitos e, em seguida, um caractere especial (nem dígito nem letra), você poderá usar
find -maxdepth 1 -type d -regex "./[0-9]*[^0-9a-zA-Z]" -exec rm -r {} \;
Eu tenho esses diretórios complicados que não consigo descobrir como excluir. Se eu correr
ls -ld *
Eu recebo…
drwxrwxr-x 7 user1 taskfmri 2048 Jan 22 15:26 857263
drwxrwx--- 4 user2 taskfmri 2048 Jan 23 16:32 857263?
Existem ~ 50 desses diretórios com '?' no ls. Infelizmente, o '?' não é literalmente um ?, mas é um caractere especial que o terminal não pode exibir
Qual é a melhor maneira de remover todos esses diretórios com caracteres especiais desconhecidos, sem excluir os diretórios bons com nomes quase idênticos?
Você não pode simplesmente fazer isso?
rm -r 857263?
Eu enfrentei um problema semelhante e não consegui descobrir como excluir ./?d
do CLI.
Se você tem Vim
instalado, ele vem com um navegador visual chamado netrw
.
vim ./
(para abrir o diretório atual) up
e down
para colocar o cursor sobre o arquivo. D
(maiúscula d
) para excluir o arquivo. y
para confirmar.