ディレクトリ/srv/tftp/pxelinux.cfg
とファイルがあります/etc/mtab
。どちらも除外したいですfind
。しかし、私は何をしても誰も除外しません。
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 \)
-path /foo -prune -o -print
注:構文が非常に混乱して直感的ではないことがわかりました。
答え1
次のバリエーションをお試しください。
$ find /etc /srv \( -path /srv/tftp/pxelinux.cfg -o -path /etc/mtab \) \
-prune -o -print
-path
これにより、リスト内のパラメータの1つが「削除」され、残りはすべて印刷されます。
答え2
これは私にとって効果的です。
find . \! -path "./.git*" -a \! -name states_to_csv.pl
したがって、あなたの変換は次のようになります
find /etc /srv \! -path "./srv/tftp/pxelinux.cfg*" -a \! -name /etc/mtab
-a フラグは「and」を示します。