Übersicht über Dateierweiterungen

Wenn man sich eine Übersicht über Dateierweiterungen in einem Verzeichnis und allen Unterverzeichnissen verschaffen möchte, kann man folgendes PowerShell-Skript verwenden: types.ps1.

Aufgerufen wird das Skript mit einer Pfadangabe z.B

powershell types.ps1 Dev

oder ohne einer Pfadangabe z.B.

powershell types.ps1

Wenn keine Pfadangabe angegeben wird, dann beginnt die Suche im aktuellen Verzeichnis. Das Ergebnis sieht dann z.B. so aus:

Textzeilen mit PowerShell sortieren

PowerShell ist zwar eine objektorientierte Kommandozeile, aber man kann auch einfachen Text mit der PowerShell bearbeiten. Hier zeige ich, wie man eine einfache Mitgliederliste mit der PowerShell sortieren kann.

Als Ausgangsdatei in den Beispielen verwende ich die Datei „mitglieder.txt“ mit dem folgenden Inhalt:

Um diese Datei nach Vornamen zu sortieren und das Ergebnis in der Datei „mitglieder-sortiert.txt“ zu speichern, genügt folgender Befehl:

Die Ergebnisdatei „mitglieder-sortiert.txt“ sieht danach so aus:

Das war einfach. Was ist aber, wenn wir nach den Nachnamen sortieren wollen?

Das müssen wir irgendwie dem Commandlet „Sort-Object“ sagen. Das tun wir, indem wir jede Zeile ($_) am Leerzeichen („\s+“) aufsplitten und das zweite Wort an „Sort-Object“ übergeben. (Die 1 steht für das zweite Wort, weil 0 für das erste Wort steht):

Die Ergebnisdatei „mitglieder-sortiert.txt“ sieht jetzt so aus:

Die beiden Sortierungen sind aufsteigend. Möchte man absteigend sortieren, dann muss man den Parameter „-Descending“ hinzufügen.

Die Ergebnisdatei sieht dann so aus:

Soviel zum Sortieren von Textdateien mit der PowerShell. Wenn man PowerShell mit den Möglichkeiten von UNIX vergleicht, dann ist PowerShell sehr wortreich. Unter UNIX würde man folgendermaßen nach Nachnamen sortieren:

Daraus darf man aber nicht schlussfolgern, dass PowerShell irgendwie schlechter ist als die UNIX-Tools. UNIX ist nun mal alt und textorientiert und PowerShell zeigt ihre wahren Stärken beim Verarbeiten von objektorientierten Commandlets.

Lösungen der Übungen zu Kapitel 5

Ich lese gerade das Buch „ANSI Common Lisp“ von Paul Graham und veröffentliche hier meine Lösungen zu den Übungen am Ende der Kapitel. Hier sind meine Lösungen zu Kapitel 5.

Übung 1:

Übung 2:

Übung 3:

Übung 4:

Übung 5:

Übung 6:

Übung 7:

Übung 8:

Lösungen der Übungen zu Kapitel 4

Ich lese gerade das Buch „ANSI Common Lisp“ von Paul Graham und veröffentliche hier meine Lösungen zu den Übungen am Ende der Kapitel. Hier sind meine Lösungen zu Kapitel 4.

Übung 1:

Übung 2:

Übung 6:

Lösungen der Übungen zu Kapitel 3

Ich lese gerade das Buch „ANSI Common Lisp“ von Paul Graham und veröffentliche hier meine Lösungen zu den Übungen am Ende der Kapitel. Hier sind meine Lösungen zu Kapitel 3.

Übung 2:

Übung 3:

Übung 4:

Übung 5:

Übung 6:

Übung 7:

Übung 8:

Lösungen der Übungen zu Kapitel 2

Ich lese gerade das Buch „ANSI Common Lisp“ von Paul Graham und veröffentliche hier meine Lösungen zu den Übungen am Ende der Kapitel. Hier sind meine Lösungen zu Kapitel 2.

Übung 1:

Übung 2:

Übung 3:

Übung 4:

Übung 5a:

Übung 5b:

Übung 6:

Übung 7:

Übung 8a:

Übung 8b:

Übung 9:

Einen String mit n-mal Zeichen erstellen

Wenn man z.B. in C++ Konsolenprogrammen eine lange Trennzeile ausgeben will dann kann man einen String erstellen mit einer definierten Anzahl eines Zeichens:

Damit erzeugt man einen String bestehend aus 40 mal das Zeichen – (Minus).

Sortieren in C++

Um z.B. eine Liste von Strings zu sortieren, kann man die Strings in einen Vector packen und mit dem „sort“-Algorithmus sortieren. Dabei kann man sich auf das Standardsortierungskriterium verlassen oder mit einem Lambda das Sortierungskriterium angeben.