Найти команду в unix

Я хочу выполнить команду поиска в каталоге и исключить из набора результатов все файлы .gif, .jpeg и .class.

Мне было интересно, может ли кто-нибудь помочь мне. Я пытался поиграть с параметром регулярного выражения, но, очевидно, я делаю это неправильно.


person Denis Sadowski    schedule 02.02.2010    source источник
comment
В зависимости от того, насколько переносимым должно быть ваше решение, -regex не является частью интерфейса POSIX find.   -  person CB Bailey    schedule 02.02.2010
comment
Голосование за переход на суперпользователя.   -  person dmckee --- ex-moderator kitten    schedule 03.02.2010
comment
@dmckee: Что означает голосование за переход на суперпользователя?   -  person Denis Sadowski    schedule 03.02.2010
comment
Этот вопрос, вероятно, лучше подходит для SuperUser.com, чем для StackOverflow.com, потому что это как использовать Foo? вопрос, а не вопрос Как написать Bar? вопрос. Если пять пользователей с достаточно высокой репутацией (или один модератор) проголосуют за него, они будут автоматически перемещены (заблокировав эту копию, но оставив ее видимой со ссылкой, чтобы вы могли найти перенесенную копию). Если у вас есть учетная запись на SU, вопрос останется под вашим контролем там, хотя, поскольку у вас уже есть ответ, который вы хотели, он может представлять для вас скромный интерес.   -  person dmckee --- ex-moderator kitten    schedule 03.02.2010


Ответы (1)


Что-то типа:

find . \! -name '*.class' \! -name '*.jpeg' \! -name '*.class'
person CB Bailey    schedule 02.02.2010
comment
подобное: find ./ -type f -и -not -name .gif -and -not -name .jpeg -and -not -name.class - person AJ.; 02.02.2010
comment
@AJ: Аналогично, да, но лично я не вижу причин печатать больше и снижать переносимость. - person CB Bailey; 02.02.2010
comment
@ghostdog74: Если вы заключаете предложения имени в фигурные скобки (вынося '\!' наружу), вы также должны использовать -o, например find . \! \( -name '*.class' -o -name '*.jpeg' -o -name '*.class' \) иначе условие больше не будет правильным. Если это не то, что вы имели в виду, я не уверен, почему \( и \) не являются избыточными в этом случае? - person CB Bailey; 03.02.2010