rm -- *-20*
O - pára -20 sendo tratado como um argumento para rm se o arquivo -20 existir.
Como posso excluir todos os arquivos que contêm -20
no nome do arquivo no diretório atual?
Eu tenho
ls | grep "-20" | rm -rf
Mas isso não funciona. Idéias?
Obrigado.
Seu problema com
ls | grep "-20" | rm -rf # DOESN'T WORK
é que você está enviando nomes de arquivos para rm
, mas rm
não lê a entrada padrão. Você precisa usar xargs
para chamar rm
repetidamente como:
ls | grep '-20' | xargs rm -rf
Mas, na verdade, você não quer usar ls | grep
para encontrar nomes de arquivos. Use o comando find
.
find . -name '*-20' | xargs rm -rf
Mas é claro que, como o outro pôster disse, a melhor solução é rm -- *-20*
.