Experimente esta variante:
$ find /etc /srv \( -path /srv/tftp/pxelinux.cfg -o -path /etc/mtab \) \
-prune -o -print
Isso "removerá" qualquer um desses argumentos de 2 -path
da lista e imprimirá tudo o resto.
Eu tenho um diretório /srv/tftp/pxelinux.cfg
e um arquivo /etc/mtab
. Desejo excluir ambos de find
. Mas o que quer que eu faça, qualquer um sempre não é excluído
find /etc /srv -path /srv/tftp/pxelinux.cfg -prune -o \! -path /etc/mtab
find /etc /srv \( -path /srv/tftp/pxelinux.cfg -prune -o -print \) -a \( \! -path /etc/mtab \)
alguém poderia, por favor, aconselhar como fazer isso?
Nota: acho a sintaxe -path /foo -prune -o -print
altamente confusa e não intuitiva
Isso funciona para mim:
find . \! -path "./.git*" -a \! -name states_to_csv.pl
então converter para o seu deve ser algo como
find /etc /srv \! -path "./srv/tftp/pxelinux.cfg*" -a \! -name /etc/mtab
O sinalizador -a significa "e".