返工查找命令以使用其他扩展名

时间:2014-09-25 17:00:32

标签: linux shell makefile

我在Linux中遇到find命令的问题。在我的makefile中,我有一个变量,我保存所有.c代码文件(我在互联网上找到了这个)

source_files = $(shell find ../src -type f -iname '*.c' | sed 's/^\.\.\/src\///')

但我想添加额外的扩展名 - * .cu和* .cpp,而不仅仅是* .c

例如:

source_files = $(shell find ../src -type f -iname **'*.c;*.cu;*.cpp'** | sed 's/^\.\.\/src\///')

当然我的代码无效。

如何更改代码以使用其他扩展程序?

1 个答案:

答案 0 :(得分:3)

您可以使用find

-o中将搜索条件链接在一起

source_files = $(shell find ../src -type f -iname '*.c' -o -iname '*.cu' -o -iname '*.cpp' | sed 's/^\.\.\/src\///')

您也可以使用正则表达式搜索:

source_files = $(shell find ../src -type f -regex ".*\.\(c\|cu\|cpp\)$" | sed 's/^\.\.\/src\///')