Os exemplos a seguir têm echo
prefixado para que você possa testar os padrões antes de usá-los. Remova o echo
para ativar o rm -rf
. Substitua rm -ri
para solicitar confirmação.
ksh tem uma extensão de correspondência negativa para a globulação:
# ksh
echo rm -rf !(*foo*)
A mesma sintaxe está disponível em bash se você definir a opção extglob
:
# bash
shopt -s extglob
echo rm -rf !(*foo*)
zsh tem sua própria sintaxe para isso:
# zsh
setopt extended_glob
echo rm -rf ^*foo*
Ele também pode usar a sintaxe em estilo ksh :
# zsh: ksh-style glob syntax
setopt ksh_glob no_bare_glob_qual
echo rm -rf !(*foo*)
# zsh: ksh-style glob syntax, adapted for the default bare_glob_qual option
setopt ksh_glob bare_glob_qual
echo rm -rf (!(*foo*))