5

使用 ClearCase 查找命令,我如何查找目录中不具有名称 pom.xml 的所有文件?

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

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

PS:我不选择使用 ClearCase,它是我项目的强制要求。这是我讨厌它的原因之一。我已经多次阅读手册页,但没有明确的方法可以做到这一点!

4

3 回答 3

3

ClearCase 通配符没有反转(AFAIR),但您可以为此使用 grep -

cleartool ls -short -nxname | grep -v pom.xml
于 2008-10-20T16:06:06.500 回答
3

还有另一种解决方案可能对您有用。尝试

申请任务

于 2011-11-03T03:48:53.460 回答
2

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

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

我知道您会“不希望执行另一个命令”,但是如果该其他系统脚本是 find 命令的 exec 选项的一部分……可以说它仍然是一个命令;)

所以创建一个简单的脚本,如:

(Unix'print.sh')

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

(Windows 'print.bat')

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

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

最后,使用 find 命令(以及有关日期过滤、分支过滤等的所有其他选项)

(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”选项允许您将搜索限制为仅文件名(而不是目录名)。

于 2008-10-22T07:35:12.600 回答