2008-10-20 69 views
5

使用ClearCase查找命令,我如何查找目录中没有名称pom.xml的所有文件?如何在ClearCase查找命令中按名称排除文件?

我想将其他选择选项传递给ClearCase查找命令,所以我不想执行另一个命令。

我正在使用RedHat linux版本的ClearCase。我曾尝试过“cleartool find!-name pom.xml -print”,但这不起作用。

PS:我不选择使用ClearCase,它是我的项目的授权。这是我讨厌它的原因之一。我已经多次阅读手册页,并没有看到明确的方法来做到这一点!

+0

发现一行命令做的正是你需要的。见下面 – VonC 2008-10-22 07:35:39

+0

你回来了! :-)从我的答案中的'嘀嗒',这个“单线”已经成功了。凉。 – VonC 2008-10-30 15:40:23

回答

2

你似乎忘记了cleartool的-exec选项find命令。

它确实允许您执行除cleartool之外的其他命令,包括系统命令(如sh或DOS脚本)。

我知道你“宁可不执行其他命令”,但如果其他系统脚本是一个find命令的EXEC选项的一部分......可以说这仍然是一个命令;)

因此,创建像一个简单的脚本:

(Unix的 'print.sh')

#!/bin/sh 
if [ $1 != $2 ] ; then 
    echo $1 
fi 

(窗口 'print.bat')

@echo off 
if not "%1"=="%2" echo "%1" 

将该脚本放在搜索目录中,或将脚本路径添加到%PATH%或$ PATH环境中。

最后,使用find命令(与所有other options关于日期过滤,分支过滤等)

(UNIX)

cleartool find . -nrec -type f -exec './print.sh $CLEARCASE_PN ./pom.xml' 

(窗口)

cleartool find . -nrec -type f -exec "print.bat %CLEARCASE_PN% .\pom.xml" 

在这里你去:“一个目录中的所有文件没有名称pom.xml”。

注意:find命令的'-type f'选项允许您将搜索仅限于文件名(而不是目录名)。

3

ClearCase的通配符不具有反转(AFAIR),但你可以使用grep这个 -

cleartool ls -short -nxname | grep -v pom.xml 
+0

我不认为这是OP使用的xml名称;-) – Tanktalus 2008-10-20 19:06:04

3

还有另一种解决方案可能适合你。尝试

ccapply task

相关问题