Shell Scripting

Shellp Programmierung, Pattern Matching, Kornshell, Regular Expressions

  • PowerShell

    PowerShell Module

    Sind bestimmte Module auf dem Windows PC vorhanden? Eine Anzeige der installierten Module liefert der Befehl Get-Module. PS > Get-Module -ListAvailable ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest ADRMS {} Manifest AppLocker {} Manifest BestPractices {} Manifest BitsTransfer {} Manifest PSDiagnostics {} Manifest ServerManager {} Manifest TroubleshootingPack {} PS > Get-Module Hyper-V Keine Ausgabe, wie beim letzten Kommando, bedeutet, dass dieses Modul nicht installiert ist oder man sich vertippt hat.

  • PowerShell

    Powershell Version

    Oft ist es relevant zu wissen, welche PowerShell Version installiert ist. Dies kann durch Ausgabe der Variablen $PSVersionTable.PSVersion erfolgen. In PowerShell 1.0 gibt es diese Variable noch nicht. PS > $PSVersionTable.PSVersion Major Minor Build Revision ----- ----- ----- -------- 2 0 -1 -1 In diesem Fall liegt Version 2.0 vor.

  • Shell Scripting

    awk – Ändern der Großschreibung in Kleinbuchstaben

    Die Funktion tolower in einem awk Skript ändert Grossbuchstaben in Kleinbuchstaben: awk '{ print tolower($0) }' Die Funktion toupper in einem awk Skript ändert Grossbuchstaben in Kleinbuchstaben: awk '{ print toupper($0) }' Beispiel für AWK Funktion tolower In diesem Beispiel soll das erste Feld in Kleinbuchstaben ausgegeben werden. echo ABCDEF GHIJK | awk '{ print tolower($1), $2 }' abcdef GHIJK Beispiel für AWK Funktion toupper In diesem Beispiel soll das erste Feld in Kleinbuchstaben ausgegeben werden. echo abcdef ghijk | awk '{ print toupper($1), $2 }' ABCDEF ghijk

  • Shell Scripting

    Leerzeilen aus einer ASCII Datei entfernen

    Um bei einer Dateianzeige die leeren Zeilen zu entfernen, gibt es verschiedene Möglichkeiten. Ich stelle hier 2 Methoden vor. Variante 1 verwendet den Unix Befehl grep grep -v ^$ Variante 2 verwender das Kommando awk. awk ' NF>0 ' Beispiel für grep Das verwendete Pattern setzt sich aus einem ^ für den Zeilenanfang und einem $ für das Zeilenende zusammen. Leerzeilen setzen sich ja, bei genauer Betrachtung, aus einem Zeilenanfang sofort gefolgt von einem Zeilenende zusammen. echo "ABCDEF \n\n GHIJK \n\n\nXYZ" | grep -v ^$ ABCDEF GHIJK XYZ Beispiel für awk Beim awk wird die interne Variable NF verwendet. NF enth%auml;lt die Anzahl der Felder der aktuellen Zeile. Leerzeilen haben…

  • Korn Shell / Bash,  Shell Scripting

    Zeichenketten in mehreren Dateien und Verzeichnissen suchen

    Unter Unix bietet grep eine einfache Lösung um Zeichenketten in Dateien zu finden. Möchte man in allen Dateien eines Verzeichnisses und den Unterverzeichnissen eine bestimmte Zeichenkette (z.B BLABLA) suchen, so reicht der Befehl grep BLABLA * nicht, da keine Unterverzeichnisse durchsucht werden. Eine Alternative ist die Kombination aus den Befehlen: find, xargs und grep. find . -type file | xargs grep -i BLABLA find . -type file -print | xargs grep -i BLABLA egrep ist eine weitere mächtige Alternative. Mit der Option -R ist es in der Lage rekursiv Unterverzeichnisse zu durchsuchen: egrep -R BLABLA * Das funktioniert auch Super in der Windows bash! Allerdings kann man grep nicht auf…