In meinem VOB gibt es eine Menge von Etiketten (der Typ, nicht Etiketten auf eine Datei angewendet). Ich möchte herausfinden, wie viele es sind, aber es ist zu viele, um mit der Hand zu zählen. Wie kann ich feststellen, wie viele Etikettentypen ich habe?Zählen Sie die Anzahl der Etiketten in ClearCase
Antwort
Dies sollte funktionieren:
cleartool find /vobs/vobsname -kind lbtype -print | wc -l
Es kam mit die Antwort 12291 zu einer der VOBs, mit denen ich arbeite (eine über 15 Jahre alte).
Beachten Sie, dass ich -s
zu dem lstype
Befehl hinzugefügt habe - ich habe eine irreführende Zeilenanzahl zuerst wegen. Hier sind einige Timing-Tests (ct
ist effektiv ein Alias für cleartool
, die weniger Typisierung nimmt - und verursacht gelegentlich eine Verwechslung mit dem "Call-Terminal-Programm auf Unix-Varianten mit archaischer Kommunikationssoftware noch installiert):
$ time ct find . -kind lbtype -print | wc -l
12291
27.08s real 1.77s user 1.30s system
$ time ct lstype -kind lbtype -s -unsorted | sort | uniq -c |
> tee /tmp/x1 | wc -l
12292
58.10s real 4.96s user 4.66s system
$ time ct lstype -kind lbtype -s -unsorted | wc -l
12292
94.97s real 4.48s user 4.52s system
$ time ct lstype -kind lbtype -s -unsorted | wc -l
12292
73.66s real 4.69s user 4.91s system
$ time ct find . -kind lbtype -print | wc -l
12291
25.39s real 2.19s user 1.53s system
$
Hmmm ... sehr variable Leistung auf der lstype
; Die Leistung von find
ist konsistenter und schneller. YMMV!
Ich erwarte, dass jemand eine Bezeichnung zwischen Läufen hinzugefügt hat.
Ich bin mir nicht sicher, wie man die Leistungsunterschiede beurteile; Die Ergebnisse scheinen die gleichen zu sein.
Weitere Timings auf meinem Rechner (Linux x86/64):
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
79.49s real 1.27s user 1.87s system
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
36.87s real 1.39s user 1.79s system
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
32.30s real 1.33s user 1.92s system
$ time ct find /vobs/vobname -kind lbtype -print | wc -l
12291
21.68s real 0.81s user 0.67s system
$ time ct find /vobs/vobname -kind lbtype -print | wc -l
12291
21.87s real 0.76s user 0.68s system
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
32.94s real 1.26s user 1.78s system
$
Alle Operationen in der gleichen Ansicht, mit der Zeit nur für die Kluft zwischen 'ct lstype' eingeben und 'ct find' (Andernfalls wird der Verlauf zur erneuten Ausführung verwendet). Ich bin nicht sicher, warum es die 12291 vs 12292 Diskrepanz gibt.
$ ct -version
ClearCase version 7.0.1 (Wed May 30 17:04:58 EDT 2007)
7.0.1.0-RATL-RCC-IFIX01 (Wed Sep 19 16:08:10 EDT 2007)
7.0.1.1-RATL-RCC-RWP (Wed Dec 05 15:35:18 EST 2007)
7.0.1.1-RATL-RCC (Wed Dec 05 16:29:24 EST 2007)
7.0.1.1-RATL-RCC-IFIX02 (Tue May 13 14:43:13 EDT 2008)
7.0.1.2-RATL-RCC (Tue Jul 29 14:40:53 EDT 2008)
7.0.1.2-RATL-RCC-RWP (Tue Jul 29 17:31:59 EDT 2008)
7.0.1.3-RATL-RCC (Wed Nov 12 13:22:16 EST 2008)
7.0.1.4-RATL-RCC (Wed Feb 18 13:00:21 EST 2009)
@(#) MVFS version 7.0.1.4 (Tue Dec 9 00:34:57 2008) built at $Date: 2010-06-11.13:25:31 (UTC) $
cleartool 7.0.1.4 (Wed Dec 10 00:55:12 EST 2008)
db_server 7.0.1.4 (Tue Dec 9 01:09:22 EST 2008)
VOB database schema version: 54
$
Verwenden lstype
:
ct lstype -local -s -kind lbtype -invob \avob -unsorted
Dann können Sie Rohr das Ergebnis auf ein wc die Etikettentypen zu zählen.
Den Parameter 'unsorted
' nicht vergessen: Das Ergebnis wird schneller berechnet.
Jonathan Leffler ‚s solution könnte schneller sein (nicht sicher, wothout die -local
für die lstype
), kann aber nicht alle die Etiketten bekommen (nicht die global diejenigen, nämlich die, die aus der Hierarchie von adminvob).
Die ct lstype
oben:
- Liste nur die lokalen Etikettentypen (entfernen Sie die
-local
alle Etikettentypen zur Liste) - keine Ansicht mit montierten vobs erfordern für den Betrieb
Getestet: lstype ist länger (x1.5). Zumindest müssen Sie keine Ansicht starten und erstellen und vobs mounten, damit es funktioniert. – VonC
- 1. Zählen Sie die Anzahl der Elemente in meiner Array-Liste
- 2. So zählen Sie die Anzahl der verpassten Anrufe in Android
- 3. Zählen Sie die Anzahl der Nullen in jeder Spalte
- 4. zählen Sie die Anzahl der Auswahlen in einem Mehrfachauswahlfeld
- 5. zählen Sie die Anzahl der Züge in einem BST Java
- 6. Zählen Sie die Anzahl der Zeilen in jeder Gruppe
- 7. Zählen Sie die Anzahl der Optionen in einer Liste
- 8. Zählen Sie die Anzahl der "Löcher" in einer Bitmap
- 9. Zählen Sie die Anzahl der Objekte in JSON-Array
- 10. zählen Sie die Anzahl der Wörterbücher in einer Zeichenfolge Python
- 11. Zählen Sie die Anzahl der Daten aus der Tabelle
- 12. Clearcase - gilt Label über mehrere Etiketten
- 13. Anzahl der Zeichenfolgenvorkommen zählen
- 14. Mit Jquery die Anzahl der Elemente zählen?
- 15. Die Anzahl der Elemente im Array zählen
- 16. Zählen Sie die Anzahl der Duplikate für eine Spalte
- 17. Zählen Sie die Anzahl der Vorkommen jedes Wortes
- 18. Zählen Sie die Anzahl der Male (Frequenz) eine Zeichenfolge auftritt
- 19. zählen die Anzahl der Anrufe einer Klausel
- 20. Twitter4J die Anzahl der Tweets Zählen gefunden
- 21. Zählen Sie die Anzahl der Möglichkeiten, LEGO Steine zu kombinieren
- 22. Sidekiq: Zählen Sie die Anzahl der verfügbaren Threads
- 23. Zählen der Anzahl der Zeichen in TextBox
- 24. Die Anzahl der Wörter in der Zeichenfolge zählen?
- 25. Anzahl der Personen in meiner Abfrage zählen
- 26. Anzahl der Bilder in einer Zeichenfolge zählen
- 27. Automatisch die Anzahl der instanziierten Klassen in einem TMP zählen?
- 28. Anzahl der Kommentare in Artikeln zählen
- 29. Anzahl der vorhandenen Tabs in jquery zählen?
- 30. Anzahl der übereinstimmenden Wörter in solr zählen?
Err ... viel langsamer als ein 'lstype -unsortiert' meiner Meinung nach. – VonC
...Oder nicht;) +1 für den Vergleich. Das werde ich morgen testen. – VonC
@VonC: du kannst mich überrascht (zu) zählen. 12K-Etiketten über 16 Jahre sind 750 Etiketten pro Jahr oder 2 pro Tag. Das ist im richtigen Stadion. Ich werde etwas experimentieren, wenn ich Zeit bekomme ... –