5

ClearCase の find コマンドを使用して、pom.xml という名前を持たないディレクトリ内のすべてのファイルを検索するにはどうすればよいですか?

他の選択オプションを ClearCase の find コマンドに渡したいので、別のコマンドを実行したくありません。

ClearCase の RedHat Linux バージョンを使用しています。「cleartool find ! -name pom.xml -print」を試しましたが、うまくいきません。

PS: ClearCase を選択して使用するわけではありません。私のプロジェクトでは義務付けられています。これが嫌いな理由の一つです。私はマニュアルページを何度か読みましたが、これを行う明確な方法がわかりません!

4

3 に答える 3

3

あなたのために働くかもしれない別の解決策があります。試す

capply タスク

于 2011-11-03T03:48:53.460 に答える
3

ClearCase ワイルドカードには反転 (AFAIR) はありませんが、これには grep を使用できます -

cleartool ls -short -nxname | grep -v pom.xml
于 2008-10-20T16:06:06.500 に答える
2

cleartool find コマンドの-execオプションを忘れているようです。

実際には、システム コマンド (sh や DOS スクリプトなど) を含め、cleartool コマンド以外のコマンドを実行できます。

「別のコマンドを実行したくない」ことはわかっていますが、その他のシステムスクリプトが find コマンドの exec オプションの一部である場合...それはまだ1つのコマンドであると主張できます;)

したがって、次のような簡単なスクリプトを作成します。

(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 コマンドを使用します (日付フィルタリング、ブランチ フィルタリングなどに関する他のすべてのオプションを使用)。

(ユニックス)

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 に答える