Comando rm -rf

1. Comando rm -rf

Reinaldo Adriano
Bezerk

(usa Slackware)

Enviado em 24/11/2009 - 14:33h

Eu tinha um diretório com uns 40 arquivos e queria excluir todos exceto 3 deles. Tentei algo como "rm -rf *! arquivo1 arquivo2 arquivo3", Usando o "!" para excluir tudo que for diferente dos arquivos citados no comando. Obviamente, não deu certo. Então eu tive que digitar 37 nomes de arquivos para deixar apenas o 3 que queria manter.
Isto posto, eu queria saber falar pro comando rm remover tudo que for diferente do que vc passar como parametro.

Desde já agradeço a todos!!



  


2. Re: Comando rm -rf

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 24/11/2009 - 15:29h

Estando no diretório no qual você irá remover os arquivos, faça:

rm -f !(arquivoA|arquivoB|...|arquivoN)


3. Re: Comando rm -rf

Daniel Fernandes
volcom

(usa Debian)

Enviado em 24/11/2009 - 15:31h

Não sei se tem como com o rm, mas alguns comandos trabalham com os parâmetros INCLUDE e EXCLUDE, onde você cria um arquivo texto com o conteúdo de include e exclude e especifica no momento da execução do comando.

Talvez um man rm ou rm --help possa ajudar.

Abraço




4. Re: Comando rm -rf

Reinaldo Adriano
Bezerk

(usa Slackware)

Enviado em 24/11/2009 - 15:49h

SMarcell obrigado pela resposta, mas eu testei a sua sugestão e não deu certo, deu a seguinte mensagem;
"bash: !: event not found"

volcom eu li o manual do rm pesquisei aqui e em outros sites e não achei nada a satisfatório.


5. Re: Comando rm -rf

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 24/11/2009 - 16:01h

Tenta o seguinte:

shopt extglob

E execute novamente o rm

Caso a mensagem persista, então faça:

set +H


6. Seja explicito

Ruy Rocha
unixgeek

(usa Fedora)

Enviado em 24/11/2009 - 22:03h

Ou ainda use o find, dizendo exatamente que você quer executar um rm nos arquivos (-type f), menos nos que são listados (-not -name nome).

find /caminho -not -name arquivo1 -not -name arquivo2 -not -name arquivo3 -type f | xargs rm

Cai bem já que você precisa apagar tudo menos três.
[]


7. Comando rm (talves ajude)

Ricardo Moutinho Almeida
badtokill

(usa Debian)

Enviado em 26/11/2009 - 09:53h

Sou iniciante no Linux, mais talves possa ajudar (afinal não custa tentar).
Opção 1: Va para o diretorio onde estão os aqruivos e digite:
rm (ou rm -r) nome do arquivo1; rm nome do arquivo2; rm nome do arquivo3; e assim por diante, digite todos os arquivos q gostaria de excluir....da trabalho digitar tudo, mais com o "Tab" fica mais facil.So não digite os nomes de arquivos que vc deseja manter.
Opção 2: copie os 3 arquivos que deseja manter para outro local, e apague o diretorio com tudo dentro (rm -r "diretorio") e depois crie ele novamente colocando novamente os 3 arquivos de volta.
Como disse ou iniciante, espero ter ajudado em alguma coisa.


8. Comando rm -rf

Cleone Silvestre Neto
BlackNegon

(usa Debian)

Enviado em 17/09/2015 - 12:07h

Fala mano.

Faça igual ao SMarcell falou:

$ rm -rf !(arquivo1|arquivo2|......|arquivo3)

para que isso funcione, é preciso que o recurso extglob esteja ativo, então execute o comando:

$ shopt -s extglob

Espero que funcione....







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts