6

Я использую команду find на Mac для поиска папки с именем test1 . Теперь папка test1 может присутствовать в .Trash также. Как я исключаю .Trash папки от получения сообщается в результатах поиска или в основном любую папку , я хочу , чтобы исключить?

$ find $HOME  -name test1 -type d
/Users/theuser/.Trash/test1
/Users/theuser/test1 
/Users/theuser/Downloads/test1 

Я хочу, чтобы результат был просто

/Users/theuser/test1
/Users/theuser/Downloads/test1 

Я использовал grep:

find $HOME  -name test1 -type d | grep -v '.Trash' 

отфильтровать .Trash , но мне интересно знать, дает ли тот же результат результаты find .

2 ответа2

10
find $HOME -path  $HOME/.Trash -prune -o -name test1 -type d -print

Явное использование -print избежать ложной печати .Trash

0

Используйте основной -prune :

find $HOME -name .Trash -prune -o -name test1 -type d

Редактировать:

Это будет включать в себя.Мусор на выходе. Чтобы это исправить:

find $HOME -name .Trash -prune -o \( -name test -type d -print \)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .