hlovdalの答えは、この場合、必要以上の要素を見つけて、それらをフィルタリングする必要があることを示しています(すべてのClearCase検索機能にもかかわらず)。
ノート:
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\"
:見つかったバージョンの拡張パスを二重引用符で囲み、名前にスペースが含まれるファイルが引き続き機能することを確認します。
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構文で機能します。Windowsの構文は次のようになります。
cleartool find . -type f -element "lbtype(LBL_A)" -exec "cleartool describe -fmt \"%n %Cl\n\" \"%CLEARCASE_XPN%\"" | grep -v "," | gawk "{gsub(/ \(.*,"");print}"
、1つの(正しい)ラベルのみを持つファイルのバージョンを一覧表示します。
awk '{sub(/ \(.*/,"");print}'
myFile@@/main/myVersion (LBL_A)
「 」を「myFile@@/ main/myVersion」に変換します