在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'
....
陷阱:代码过多,需要保存所有输出
有没有办法列出签出的文件并应用过滤器?
> 考虑到grep -E
(--extended-regexp
)能够解释正则表达式(不需要转义其特殊字符),您只需要键入:
cleartool lsco -me -short -cview -all | sort -r | grep -E '.(cc|h)'
模式或通配符未在cleartool lsco
中提及。
正如Brian Cowan评论的那样:
cleartool lsco -me -short -cview -all | grep -E '.(cc|h)$' | sort -r