![](/img/trans.png)
[英]c++ regular expression to list all files in a directory except hidden files (start with .)
[英]Glob files except that including some expression
我想编写一个命令来在以下文件中构建FooMain.cc
:
$ ls src
FooMain.cc
FooMain2.cc
BarMain.cc
Helper.cc
Helper.h
FileToInclude.cc
FileToInclude.h
...
每个主文件(包括Main
的文件)都有main()
function 并且它们需要文件名中没有Main
的所有其他文件。
构建的直接方法如下:
clang++ [options] FooMain.cc Helper.cc FileToInclude.cc ...
这里的表达式HelperOne.cc FileToInclude.cc...
包括除Main
之外的所有文件。 我想做的是用 glob 表达式改写这个表达式
clang++ [options] FooMain.cc [Some clever glob expression]
我查了一会儿,但找不到类似的问题。 感谢任何线索。 谢谢!
使用ksh93
、 bash
并打开extglob选项 ( shopt -s extglob
),或使用zsh
并打开ksh_glob选项 ( setopt ksh_glob
):
$ clang++ [options] FooMain.cc !(*Main*).cc
在启用extended_glob选项的情况下使用zsh
( setopt extended_glob
):
$ clang++ [options] FooMain.cc *.cc~*Main*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.