Эта команда напечатает имена файлов * .cpp в данном каталоге:
find . -name "*.cpp" -print
Как я могу напечатать оба файла * .cpp и * .h?
Попробуй это:
find -regex ".*\.\(cpp\|h\)$"
Пример с большим количеством альтернатив:
find -regex ".*\.\(cpp\|c\|h\|o\)$"
Я приведу пример. Это будет искать файлы с 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" \) \)
Использование:
find . -name "*.cpp" -print -o -name "*.h" -print