Clearcase 如何在命令行中取消选中所有临时视图中的文件?

Clearcase 如何在命令行中取消选中所有临时视图中的文件?,clearcase,Clearcase,背景 我目前正在测试一个脚本,该脚本创建了一个临时视图,并签出了四个程序包文件,以供进程更新。然而,我的脚本还没有达到可以达到取消选中步骤的程度。这将产生30多个临时视图,所有视图都包含签出版本的包文件 尝试的解决方案 我可以进入图形化的clearcase树并手动ctrl单击所有已签出的临时视图,然后单击取消选中按钮。然而,在几百次测试之后,这将变得不合适,所以我想知道一种命令行方法来实现这一点。我所有的临时视图的格式都是“TMP_abc_QUA_35;##” 问题 如何使用bash从linux

背景

我目前正在测试一个脚本,该脚本创建了一个临时视图,并签出了四个程序包文件,以供进程更新。然而,我的脚本还没有达到可以达到取消选中步骤的程度。这将产生30多个临时视图,所有视图都包含签出版本的包文件

尝试的解决方案

我可以进入图形化的clearcase树并手动ctrl单击所有已签出的临时视图,然后单击取消选中按钮。然而,在几百次测试之后,这将变得不合适,所以我想知道一种命令行方法来实现这一点。我所有的临时视图的格式都是“TMP_abc_QUA_35;##”

问题

如何使用bash从linux命令行中取消选中所有临时视图中的文件?

如“”中所述,您只需描述一个vob:

 cleartool describe -long vob:\baseccvob
您将看到哪些视图包含对象:

VOB holds objects from the following views:
MYHOST:C:\VIEW\TEST.vws [uuid a7fc590.42f34d53.ae68.b6:30:f5:30:c5:a4]
对于属于临时视图的每个视图,可以执行以下操作:

cd /aview/aVob
cleartool rmview -uuid fa7fc590.42f34d53.ae68.b6:30:f5:30:c5:a4 
这将删除该视图aVob中任何文件的任何签出状态

循环并重复其他临时视图

我以前使用过(Windows语法)

在Linux上:

cd /views/aView/vobs/aVob
cleartool descr -l vob:/vobs/aVob|grep TMP_|gawk "{gsub(/]/,\"\",$3); print \"cleartool rmview -uuid \"$3}"|sh

这个答案很有用,但我在bash中工作。(我将相应地编辑我的问题)。@isakob在Windows或Linux上的bash中?在Linux上的bash中。我很接近,但我得到了一个“无与伦比”的答案。其中是否有一个引用没有被转义?@isakob这是可能的:我没有测试它的环境:检查
cleartool descr-l vob:/vobs/aVob | grep TMP
的输出以确定gsub是否工作。另一种语法是使用强引号:
gawk'{gsub(/]/,“”,$3);print“cleartool rmview-uuid”$3}
有什么原因不能在脚本末尾删除临时视图吗?这将删除所有签出引用,而不会使视图处于不稳定状态。
cd /views/aView/vobs/aVob
cleartool descr -l vob:/vobs/aVob|grep TMP_|gawk "{gsub(/]/,\"\",$3); print \"cleartool rmview -uuid \"$3}"|sh