find-command для определенных подкаталогов

Предположим, у меня есть каталог dir с тремя подкаталогами dir1 .. dir3 . И внутри у меня много файлов и других подкаталогов.

Я хотел бы найти файл внутри, скажем, с завершением *.c , но мне бы хотелось только найти в подкаталоге «dir / dir2» и все его подкаталоги. Как я могу это сформулировать?

Предполагаю, что я в dir/ меня есть:

find . -name "*.c"

для поиска во всех каталогах.

Как ограничить только dir2 ?

4 Solutions collect form web for “find-command для определенных подкаталогов”

Поиск примет любой допустимый путь, поэтому

 find ./dir2 -name '*.c' 

должен сделать трюк

Если каталог dir/home/user/dir вы можете указать полный путь

 find /home/user/dir/dir2 -name '*.c' 

Вы также можете использовать параметр -path для find вместо имени:

 find . -path "dir2/*.c" 

Это может позволить вам находить файлы в каталоге dir2 даже если dir2 не был прямым подкаталогом, EG:

 # find . -path "*/dir2/*.c" ./dir_a/dir2/file.c ./dir_b/dir2/file.c 

Предполагая, что вы находитесь в dir

 find dir2 -name '*.c' 

конечно , ответ Иэна также верен

Вы можете find dir2 -name '*.c'

Вы также можете сделать (cd dir2; find -name '*.c')

Если вы хотите посмотреть на dir1 и dir3, но не на dir2, вы можете find {dir1,dir3} -name '*.c'

  • Как построить пространство в отдельности, избегать полных путей файлов, рекурсивно сопоставляющих glob?
  • Имеет ли внешняя команда, которая принимает команду в качестве аргумента, имеет ограничение на аргумент?
  • Как восстановить среду оболочки?
  • Создание моей собственной функции cp в bash
  • Отправляется ли процесс отказа от сигналов, отличных от SIGHUP?
  • Конкатенация строк с двумя строками
  • Добавить данные из нескольких файлов в новый файл, разделенные линией
  • Выполнение действий в списке из оболочки
  • Как убить неактивных пользователей на Solaris?
  • отключить буферизацию для `hping` в OpenBSD
  • как создать столбец с нулевыми значениями в оболочке?
  • Shell globbing без совпадающих файлов
  • Linux и Unix - лучшая ОС в мире.