Para um diretório específico, isso excluiria todos os arquivos cujos nomes começassem com ~ $ recursivamente:
find /path/to/directory -type f -name '~$*' -exec rm '{}' \;
Para limitá-lo apenas com esse diretório específico e não com seus subdiretórios, use maxdepth:
find /path/to/directory -maxdepth 1 -type f -name '~$*' -exec rm '{}' \;
Altere o argumento integral para -maxdepth
dependendo do nível pretendido de diretórios para pesquisar arquivos.
Outra abordagem mais simples é usar globs, mas não é realmente uma boa ideia, uma vez que tentaria tocar em diretórios que correspondam ao padrão. Ainda não vai apagá-los, mas você teria que se preocupar com a mensagem de erro. Você pode usar a opção -f
ou enviar a saída de erro para /dev/null
, mas ela já está suja para um método:
rm '/path/to/directory/~$'*