2

ClearCase ディレクトリ構造に多数のファイルがあり、すべての「makefile」を「Makefile」に変更する必要があります。コマンドとexecフラグの組み合わせを考えていますfind . -name makefileが、execコマンドを思いつくのに苦労しています。cleartool mv コマンドはディレクトリを自動的にチェックアウトしないため、ディレクトリをチェックアウトしてから mv を実行する必要があります。しかし、私が知る限り、使用する必要があるのは %CLEARCASE_PN% シンボルだけであり、これにより完全なパス名が得られます。そのため、そこからディレクトリを解析する必要があります。私よりもシェルに詳しい人が、私がパズルを解くよりも早く適切なコマンドを思い付くことができることを願っています。

ここで使用する cleartool、Windows cmd、および Cygwin があります。

4

1 に答える 1

3

cygwin 環境に bash があると思います。その場合、前の質問に対するこの回答を使用して、次のような小さな bash スクリプトを作成できます。

#!/bin/bash
FILE=$1
DIR_NAME=$( dirname $FILE )
FILE_NAME=$( basename $FILE )

#checkout directory $DIR_NAME with whatever the cleartool command is
#rename with cleartool $DIR_NAME/$FILE to $DIR_NAME/new_name

/usr/atria/bin/cleartool checkout -nc $DIR_NAME; 
/usr/atria/bin/cleartool mv $DIR_NAME/$FILE_NAME $DIR_NAME/Makefile;

次に、スクリプトを次のように呼び出します。

find . -name orig_name -exec myscript.sh {} \;

警告:

  • すでにチェックアウトされているディレクトリは、再度チェックアウトするとエラー メッセージが表示されます (無視できます)。
  • このプロセス中にチェックアウトしたすべてのディレクトリをチェックインする必要があります。そうしないと、誰も移動の結果を見ることができません (この現在のビューにアクセスする人を除く)。
于 2008-12-04T14:20:43.043 に答える