FAQ: Wie kann ich PowerShell verwenden, um meine Textdaten zu sehen?
Laut Wikipedia ist Windows PowerShell das Task-Automatisierungs-Framework von Microsoft, das aus einer Befehlszeilen-Shell und einer zugehörigen Skriptsprache besteht, die auf dem.NET Framework aufbaut und in dieses integriert ist. PowerShell kann nützlich sein, wenn Sie ein paar Zeilen einer sehr großen Textdatei sehen möchten. Um auf PowerShell zuzugreifen, können Sie auf Start, Zubehör, Windows PowerShell klicken. Dadurch wird ein DOS-ähnliches Befehlsfenster geöffnet. Wie unter Unix und DOS können Sie Befehle über die Eingabeaufforderung eingeben. Wenn Sie die PowerShell nicht auf Ihrem Computer installiert haben, können Sie sie von dieserMicrosoft-Website herunterladen.
Die Befehle in der PowerShell heißen „Cmdlets“ (sprich: „command-lets“, kleine Befehle), und es wird zwischen Groß- und Kleinschreibung unterschieden. Eine Auflistung der verfügbaren Befehle finden Sie hier . Wir werden ein paar Cmdlets veranschaulichen, die nützlich sein können, wenn Sie einen Teil des Inhalts einer großen Textdatei anzeigen möchten. Die Zeilen, die mit einem Pfundzeichen (#) beginnen, sind Kommentare.
Um Hilfe zu erhalten, können Sie die folgenden Cmdlets eingeben.
# getting help# http://technet.microsoft.com/en-us/library/dd347616.aspxget-help Get-Content -examplesman gc
Wir beginnen mit dem bekannten „Hello, World!“, um zu zeigen, wie Variablen erstellt werden können, und dann mit „pwd“ und „dir“, um Informationen über Verzeichnisse zu erhalten.
# hello world!$hi="Hello, World!"$hiImage PS4pwddir
# counting the number of files in a folderget-childitem D:dataget-childitem D:data -name(get-childitem D:data).Count
Um das Skript (oder die Reihe von Cmdlets, die Sie eingeben) aufzuzeichnen, können Sie die folgenden Cmdlets verwenden.
start-transcript "D:datatranscript.txt"#things in between will be recordedstop-transcript
Das Cmdlet „Get-Content“ ist sehr nützlich für den Zugriff auf Textdateien. Im ersten Beispiel greifen wir auf die ersten 7 Zeilen der Textdatei zu, die wir „large.txt“ nennen. Als Nächstes greifen wir auf die letzten 2 Zeilen zu, und dann erhalten wir die Gesamtanzahl der Zeilen. Beachten Sie, dass das Cmdlet „Get-Content“ zu „gc“ abgekürzt werden kann.
# headGet-Content D:datalarge.txt -totalcount 7gc D:datalarge.txt -totalcount 7gc D:datalarge.txt | select-object -first 7# tailgc D:datalarge.txt | select-object -last 2# total number of rowsGet-Content D:datalarge.txt | Measure-Objectgc D:datalarge.txt | Measure-Object
Image PS6
Sie können auf eine bestimmte Spalte zugreifen, und Sie können Datums- und Zeitinformationen erhalten.
# get a specific column# http://stackoverflow.com/questions/2503010/extracting-columns-from-text-file-using-powershellgc D:datalarge.txt | Foreach {($_ -split 's+', 8)}gc D:datalarge.txt | Foreach {"$(($_ -split 's+', 8))"}gc D:datalarge.txt | Foreach {"$(($_ -split 's+', 8))"} > col12.txt
# date and timeGet-DateGet-Date -displayhint dateGet-Date "7/22/1980Image PS2
Nachfolgend ein paar Beispiele für das Suchen, Unterteilen und Anhängen.
# searching and subsettingmore D:datalarge.txtselect-string "seqn" D:datalarge.txt select-string -quiet "seqn" D:datalarge.txtImage PS5# appending add-content -value "addthis" simple.txtadd-content -value (get-content D:datalarge.txt) simple.txt