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