如何在ClearCase中查找已签出并具有特定扩展文件的文件

时间:2017-10-23 12:05:38

标签: grep clearcase

在ClearCase中,我可以使用

找到CHECKEDOUT文件(在我的视图中)
cleartool lsco -me -short -cview -all | sort -r

但我想应用正则表达式来仅过滤那些c ++(c,h)源代码并应用于签出文件。过滤器是

$targettedFileFilter="\\.\(c[cxp]*\|h[h]{0,1}\|sig\)\$";

我尝试了这两种选择

备选方案1:

find . -type f -regextype  posix-awk -regex ".*$targettedFileFilter" && cleartool lsco -me -short -cview -d /vobs/rbs/hw/ru_fpga/txl/sw | sort -r

陷阱:但扫描所有文件需要很长时间。

备选方案2:

cleartool lsco -me -short -cview -all | sort -r | grep -E '*.cc' 
cleartool lsco -me -short -cview -all | sort -r | grep -E '*.h' 
....

陷阱:代码太多,需要保存所有输出

有没有办法列出签出的文件并应用过滤器?

1 个答案:

答案 0 :(得分:1)

考虑grep -E (--extended-regexp) is able to interpret regexp (without needing to escape its special characters),您只需输入以下内容:

cleartool lsco -me -short -cview -all | sort -r | grep -E '\.(cc|h)' 

cleartool lsco中未提及模式或通配符。

作为Brian Cowan comments

cleartool lsco -me -short -cview -all | grep -E '\.(cc|h)$'  | sort -r