2

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

find . -name "*.cpp" -print  

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

4 ответа4

2

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

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

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

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

Я приведу пример. Это будет искать файлы с 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" \) \)
0

Использование:

find . -name "*.cpp" -print -o -name "*.h" -print

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