簡體   English   中英

Glob 文件,除了包含一些表達式

[英]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]

我查了一會兒,但找不到類似的問題。 感謝任何線索。 謝謝!

使用ksh93bash並打開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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM