Как перенести $ (shell find. -Name '* .cpp') на Windows?
605
Tomáš Zato
У меня есть это в makefile:
# find cpp files in subdirectories SOURCES := $(shell find . -name '*.cpp')
Поэтому я хотел сделать общую FIND
команду, которая будет правильно работать в Windows и Linux:
ifeq ($(OS),Windows_NT) # WINDOWS RM = erase /Q FIND = ??? else # LINUX ifeq ($(shell uname), Linux) RM = rm -f # This is probably wrong too, but I have no idea how to do it right FIND = $(find . -name '$1') endif endif
Конечно, я даже не знаю, как сделать параметризованный шаблон поиска для Linux. Но что более важно, я не могу найти команду для поиска всех файлов по шаблону. Windows имеет это:
dir * /s/b | findstr \.cpp$
Это прекрасно, но в нем используется регулярное выражение ... Как я могу перенести это правильно, чтобы поиск работал хорошо в обеих системах? У makefile нет собственного метода поиска файлов?
Есть ли причина, по которой `dir * .cpp / s` недостаточно?
Seth 7 лет назад
1
Возможный дубликат [Эквивалент Unix-команды поиска в Windows] (https://superuser.com/questions/401495/equivalent-of-unix-find-command-on-windows)
Jeff Zeitlin 7 лет назад
0
Вы должны заглянуть в MinGW / Cygwin. Это наборы утилит Unix, которые запускаются в Windows и позволяют запускать сборочные файлы Unix в Windows (плюс вы получаете оболочку, похожую на Linux, в Windows ...).
xenoid 7 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
12
Почему папка / winsxs становится такой большой и ее можно уменьшить?
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
2
Повышенные привилегии для запуска приложений в Windows?
-
-
14
PDF Viewer в Windows
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
7
Какие службы Windows можно безопасно отключить?
-
8
Firefox PDF плагин для просмотра PDF в браузере на Windows
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
1
Windows теряет макет экрана
-
1
Есть ли способ предотвратить установку / обновление, чтобы засорять мой жесткий диск загадочными пап...