Articles

FAQ: Jak mogę użyć PowerShell, aby pomóc mi zobaczyć moje dane tekstowe?

Według Wikipedii, Windows PowerShell to framework automatyzacji zadań firmy Microsoft, składający się z powłoki acommand-line i powiązanego języka skryptowego zbudowanego na szczycie i zintegrowanego z.NET Framework. PowerShell może być przydatny, gdy chcesz zobaczyć kilka linii bardzo dużego pliku tekstowego. Aby uzyskać dostęp do PowerShell, można kliknąć na Start, Akcesoria, Windows PowerShell. Spowoduje to otwarcie okna poleceń przypominającego DOS. Podobnie jak w Uniksie i DOS-ie, możesz wydawać polecenia z poziomu zachęty. Jeśli nie masz zainstalowanego PowerShella na swoim komputerze, możesz go pobrać z tej strony Microsoftu .

Polecenia w PowerShellu nazywane są „cmdlets” (wymawiane jako „command-lets”, czyli małe polecenia) i rozróżniana jest w nich wielkość liter. Listę dostępnych poleceń można znaleźć tutaj . Zilustrujemy kilka cmdletów, które mogą być przydatne, gdy chcesz zobaczyć część zawartości dużego pliku tekstowego. Linie, które zaczynają się od znaku funta (#) są komentarzami.

Aby uzyskać pomoc, możesz wpisać następujące polecenia cmdlet.

# getting help# http://technet.microsoft.com/en-us/library/dd347616.aspxget-help Get-Content -examplesman gc

Image PS1

Zaczniemy od znanego wszystkim „Hello, World!”, aby pokazać, jak można tworzyć zmienne, a następnie użyjemy „pwd” i „dir”, aby uzyskać informacje dotyczące katalogów.

# hello world!$hi="Hello, World!"$hiImage PS4Image PS4pwddir
# counting the number of files in a folderget-childitem D:dataget-childitem D:data -name(get-childitem D:data).Count 

Image PS3

Aby zapisać skrypt (lub serię cmdletów, które wpisujesz), można użyć następujących poleceń.

start-transcript "D:datatranscript.txt"#things in between will be recordedstop-transcript

Ccmdlet „Get-Content” jest bardzo przydatny przy dostępie do plików tekstowych. W pierwszym przykładzie, uzyskujemy dostęp do pierwszych 7 wierszy pliku tekstowego, który nazywamy „large.txt”. Następnie uzyskujemy dostęp do ostatnich 2 wierszy, a następnie otrzymujemy całkowitą liczbę wierszy. Zwróć uwagę, że cmdlet „Get-Content” można skrócić do „gc”.

# 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 PS6Image PS6

Możesz uzyskać dostęp do konkretnej kolumny, a także uzyskać informacje o dacie i czasie.

# 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 PS2Image PS2

Poniżej kilka przykładów wyszukiwania, podzestawiania i dołączania.

# searching and subsettingmore D:datalarge.txtselect-string "seqn" D:datalarge.txt select-string -quiet "seqn" D:datalarge.txtImage PS5Image PS5# appending add-content -value "addthis" simple.txtadd-content -value (get-content D:datalarge.txt) simple.txt

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *