用于递归查找当前目录中的所有视图专用文件的命令

eee*_*hul 28 command clearcase

什么是clearcase命令以递归方式查找当前目录中的所有视图私有文件?

Von*_*onC 32

通常的命令基于cleartool ls:

  • ct lsprivate:但它仅适用于动态视图,而不适用于快照视图
  • ct ls -rec -view_only:至少,它适用于快照和动态视图

但是这两个名单您签出的文件.

如果您只想要私有文件,即跳过被劫持/重叠/签出和符号链接,则需要对其进行过滤.

在Windows中,那将是:

for /F "usebackq delims=" %i in (`cleartool ls  -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%i"
Run Code Online (Sandbox Code Playgroud)

在Unix中:

cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v "-->" | xargs echo
Run Code Online (Sandbox Code Playgroud)


Mil*_*son 5

如果它帮助其他人在这里阅读这个问题是VonC的Windows解决方案,并作为一个Windows脚本运行几个小的更改:

@echo off
setlocal
for /F "usebackq delims=" %%A in (`cleartool ls  -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%%A"
Run Code Online (Sandbox Code Playgroud)

替换@echormdir /S /Qdel /F执行此处描述的实际删除.所以最后的脚本是:

@echo off
setlocal
for /F "usebackq delims=" %%A in (`cleartool ls  -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do rmdir /S /Q "%%A"
for /F "usebackq delims=" %%A in (`cleartool ls  -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do del /F "%%A"
Run Code Online (Sandbox Code Playgroud)

如果您在要清理的视图元素下保存为.bat文件,脚本将通过删除自身进行清理:-)