2008-10-20 94 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

相關問題