• PowerShell,  Windows

    Mehrfache Einträge in großen Konfigurationsdateien oder Protokollen finden (Windows Powershell Lösung)

    Im Post Mehrfache Einträge in großen Konfigurationsdateien oder Protokollen finden(Linux/Unix) habe ich gezeigt, wie mehrfach vorkommende Zeilen in Textdateien gefunden und automatisch entfernt werden können. Windows hat im Zuge der Powershell ein mächtiges Werkzeug, dass dies auch kann. (Seit dem Windows 10 1709 Update kann man natürlich auch einfach die eingebaute bash nehmen….) Zur Demonstration verwende ich eine Datei duplicates.txt: Get-Content -Path duplicates.txt Zeile kommt nur einmal vor Zeile kommt zweimal vor Zeile kommt dreimal vor Zeile kommt zweimal vor Zeile kommt dreimal vor Zeile kommt auch nur einmal vor Zeile kommt dreimal vor Mehrfache vorkommende identische Zeilen und deren Anzahl findet und zählt man wie mit Group-Object Get-Content -Path…

  • Korn Shell / Bash,  Shell Scripting

    Mehrfache Einträge in großen Konfigurationsdateien oder Protokollen finden (Linux/Unix Lösung)

    Oft vermutet man in größeren Protokolldateien oder Konfigurationsdateien mehrfach vorhandene Einträge. Diese sollen schnell ermittelt und bei Bedarf entfernt werden. Unter Linux gibt es das Werkzeug uniq. Der Parameter --count gibt alle Zeilen aus und die Häufigkeit Ihres Auftretens in der ersten Spalte. Es funktioniert nur nicht so intuitiv, wie erwartet. Ich versuche es an einem Beispiel: uniq –count console.log 1 <?xml version=”1.0″ encoding=”UTF-8″ ?> 1 <Protokollzeile xxxyyyzzz > Diese Datei hat offensichtlich zwei Zeilen insgesamt und beide unterscheiden sich. Das ist im Moment nicht sehr hilfreich. Daher verdoppele ich die Datei und füge eine einzeln vorkommende Zeile hinzu: cat console.log >> consoleDup.log cat console.log >> consoleDup.log echo “Eine abweichende…

  • Korn Shell / Bash,  Shell Scripting

    Sehr nützliche grep Funktionen

    grep wird von Linuxx/Unix Administratoren zwar sehr oft genutzt, einige sehr mächtige Optionen werden aber zu Unrecht wenig genutzt oder sind den Administratoren nicht bekannt. 1. Zeilen vor und nach der Fundstelle des Suchbegriffs ausgeben. grep bietet die äusserst nützliche Funktion, Zeilen vor und nach dem gefundenen Suchbegriff anzuzeigen. Um die Funktionen der grep Optionen darzustellen, verwende ich als Beispiel ein IBM Skript mit folgendem Inhalt, das von grep durchsucht wird: cat collector.sh #!/bin/sh binDir=`dirname ${0}` . ${binDir}/setupCmdLine.sh ${WAS_HOME}/bin/collector.sh “$@” Die Option -A zeigt n Zeilen nach der Fundstelle an. grep -A 1 setup collector.sh . ${binDir}/setupCmdLine.sh ${WAS_HOME}/bin/collector.sh “$@” Die Option -B zeigt n Zeilen vor der Fundstelle an. grep…

  • 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