hlovdal's answerは、この場合、必要以上の要素を見つけてフィルタリングする必要があることを示しています(すべてClearCase find featuresにもかかわらず)。
注:
cleartool find . -type f -element 'lbtype_sub(LBL_A)' -print
があなたに与えることができる直接要素(この場合は面白いではないかもしれないし、ないバージョン)。バージョンは-version
で、フォーマット指示文は下記の通りです。 fmt_ccaseの助けを借りて
、あなたが得るために、出力を調整することができます
正確あなたのperlスクリプトは、上に行くために必要なもの:
cleartool find . -type f -element 'lbtype_sub(LBL_A)' -exec 'cleartool describe -fmt "%En %Cl\n" \"$CLEARCASE_XPN\"' | grep -v ","
-fmt "%En %l\n"
がのフルパスを表示します。 (バージョン:/ a/b/myFile @@/main/myVersionの代わりに)=> /a/b/myFile'. the '
\ n行ごとに1つの結果が得られます。
-version
と-fmt "%n %l\n"
はバージョン
\"$CLEARCASE_XPN\"
を表示していました:二重引用符は、バージョンの拡張のパスがまだ動作します、その名前にスペースを持つファイルを確実に見つけarount。
grep -v ","
:ラベルのすべてリストを表示しないよう:任意のカンマがある場合、それは、「複数のラベル」
%Cl
を意味します。とにかく、複数ある場合、あなたは興味がありません!
ので、正確なバージョンを見つけるために:
cleartool find . -type f -version 'lbtype_sub(LBL_A)' -exec 'cleartool describe -fmt "%n %Cl\n" \"$CLEARCASE_XPN\"' | grep -v ","|awk '{sub(/ \(.*/,"");print}'
注:UNIXの構文で
上記作品。窓の構文は次のようになります。一つだけ(正しい)のラベルが付いたファイルのバージョンをリストし
cleartool find . -type f -element "lbtype(LBL_A)" -exec "cleartool describe -fmt \"%n %Cl\n\" \"%CLEARCASE_XPN%\"" | grep -v "," | gawk "{gsub(/ \(.*,"");print}"
、。
awk '{sub(/ \(.*/,"");print}'
"のmyFile @@ /メイン/ myVersion" に "[email protected]@/main/myVersion (LBL_A)
" を変えていく
だけ更新私のコマンドラインに要素の代わりにバージョンを表示する – VonC