Я хотел бы найти исходные файлы (* .c, * .cpp, * .h), которые содержатся в Linux / MinGW / Cygwin и рекурсивно во всех подкаталогах.
Моя основная идея заключается в использовании find
и grep
. Однако создание регулярного выражения, которое может проверить заданное имя файла, - это * .c, * .cpp или * .h. Не могли бы вы помочь мне?
$
в конце команды?foo.cpp.old
например).Я хотел бы использовать:
источник
-E
ничего не может найти. вам может понадобиться добавить -E (как расширенный), чтобы сделать его более переносимым, какfind -E . -regex '.*\.(c|h|cpp)' -print
. ;-)Быстро и грязно, и избегает имен каталогов:
источник
*.cpp
файлы. 2. Он найдет*.|
файлы. 3. Глобус раскроется, если в текущем каталоге есть соответствующие файлы. Цитирование предотвращает это.Вы можете использовать немного более простое регулярное выражение:
источник
Я использую Mac Pro, который также работает в Bash. Но каждый раз, когда я печатаю в командной строке:
это говорит о нелегальном варианте. Так что я просто упростил это как:
и нашел, что это действительно работает!
источник