我需要在一台服务器上找到所有的iplanets,我正在考虑使用这个命令:
find / type d -name https-* | uniq
但同时我需要忽略一些目录/文件。我一直在尝试使用!
,但它并不总是有效。我有这样的命令:
find / type d -name https-* ! -name https-admserv* ! -name conf_bk* ! -name alias* ! -name *db* ! -name ClassCache* | uniq
我需要忽略这一切。目录admserv
,conf_bk
,alias
和tmp
以及文件*.db*
基本上我需要找到这个:
/opt/mw/iplanet/https-daniel.com
/opt/https-daniel1.com
/apps/https-daniel2.com
我只需要找到目录名称。我怎么能忽略所有其他的东西呢? 感谢
答案 0 :(得分:1)
使用-prune
防止递归到目录:
find / \( -type d \( -name 'https-admserv*' -o -name 'conf_bk*' -o -name 'alias*' -o -name 'tmp' \) -prune -o -type d -name 'https-*' -print
无需忽略任何文件。您只选择https-*
目录,因此忽略其他所有目录。
并且无需管道uniq
,因为find
永远不会产生重复。