Como eu uso comandos básicos do linux para excluir todos os arquivos, exceto um?

3

Eu quero excluir todos os arquivos em um diretório que comece com abc , exceto o abc em si.

exemplo:

abc abc1 abc2  

Como eu excluiria abc1 e abc2 apenas em uma única linha de comando?

    
por Noremac 08.10.2016 / 01:10

2 respostas

4

Você pode usar o shell glob abc?* para corresponder a abc seguido por pelo menos um caractere

rm abc?*

por exemplo,

$ ls abc*
abc  abc1  abc2
$ ls abc?*
abc1  abc2

então

$ rm abc?*
$ ls abc*
abc
    
por steeldriver 08.10.2016 / 01:17
1

Maneira alternativa de shell:

$ for f in abc*; do case "$f" in "abc") continue;; *) echo "$f";; esac;done

substitua echo por rm após o teste.

    
por Sergiy Kolodyazhnyy 09.11.2017 / 02:12