代码之家  ›  专栏  ›  技术社区  ›  dochoex

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

  •  2
  • dochoex  · 技术社区  · 7 年前

    在ClearCase中,我可以用

    cleartool lsco -me -short -cview -all | sort -r
    

    但是我想应用regexp只过滤那些c++(c,h)源代码,并应用于checkedout文件。过滤器是

    $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 回复  |  直到 7 年前
        1
  •  1
  •   VonC    7 年前

    考虑到 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