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
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?
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
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.
Tags command-line delete