exclui todo o arquivo .swp usando o comando rm

0

Estou tentando encontrar e excluir todos os arquivos .swp em meu diretório atual. Eu estava usando o comando abaixo:

rm -i 'find . | grep .swp$'

Mas toda vez que está me dando esse erro:

rm: missing operand
Try 'rm --help' for more information.

Algo errado que estou fazendo?

    
por arsenal 27.04.2015 / 22:01

4 respostas

6

A mensagem de erro recebida provavelmente indica que nenhum arquivo correspondeu ao padrão de nome .swp$ . Uma maneira geralmente mais segura de fazer o que você escreveu (porque ele manipula qualquer nome de arquivo):

find . -name '*.swp' -print0 | xargs -0 rm -i --
    
por 27.04.2015 / 22:07
5

Ou uma variação com find sozinho, por exemplo:

find . -name "*.swp" -ok rm {} +

ou apenas sem confirmação (AVISO!):

find . -name "*.swp" -delete
    
por 27.04.2015 / 22:18
0

Se você quiser ser mais restrito, use:

find . -type f -name "*.swp" -exec rm -f {} \;
    
por 27.04.2015 / 22:27
0

Sempre use a ferramenta mais simples para o trabalho. Como você deseja operar apenas no diretório atual, este comando funcionará bem:

rm -i *.swp

    
por 28.04.2015 / 10:32

Tags