Как использовать, “находят” команду с несколькими условиями?

Эта команда распечатает *.cpp имена файлов в данном каталоге:

find . -name "*.cpp" -print  

Как я могу распечатать и *.cpp и *.h имена файлов?

2
задан 29.06.2010, 14:46

3 ответа

Попробуйте это:

find -regex ".*\.\(cpp\|h\)$"

Пример с большим количеством альтернатив:

find -regex ".*\.\(cpp\|c\|h\|o\)$"
2
ответ дан 08.12.2019, 04:58

Я дам пример. Это будет искать файлы с owner=1000 и писать им в "uid.list", поиск файлов с group=1000 и писать им в "gid.list", и он пропустит пути, начинающиеся/proc,/sys,/dev. Преимущество объединенных условий состоит в том, что файловая система сканируется только однажды.Вот:

find / \
\( \( -path "/proc" -or -path "/sys" -or -path "/dev" \) -prune \) -or \
\( \( -user 1000 -fprint "uid.list" \)  , 
   \( -group 1000 -fprint "gid.list" \) \)
2
ответ дан 08.12.2019, 04:58

Теги

Похожие вопросы