Skip to content
Natuurondernemer
    9 grudnia, 2020 by admin

    Wprowadzenie do korzystania z plików tekstowych za pomocą PowerShella

    Wprowadzenie do korzystania z plików tekstowych za pomocą PowerShella
    9 grudnia, 2020 by admin

    Użyj cmdletów PowerShella, aby nauczyć się podstaw: jak pobierać tekst z plików tekstowych i jak znajdować tekst w plikach tekstowych.

    Jednym z najbardziej powszechnych zadań, jakie musi wykonać informatyk, jest tworzenie, odczytywanie lub zmienianie plików tekstowych w jakiś sposób. Pliki tekstowe są reprezentowane w tysiącach różnych formatów od prostych plików TXT do XML do różnych formatów zastrzeżonych. Ponieważ pliki tekstowe mogą być zorganizowane w tak ogromną liczbę sposobów, producenci przyjęli prosty plik tekstowy jako środek do definiowania skryptów, przechowywania wartości konfiguracyjnych i zapytań SQL i wiele innych. Jedyną różnicą strukturalną w pliku TXT i pliku SQL, na przykład, jest tylko rozszerzenie pliku. Zawartość jest po prostu tekstem ustrukturyzowanym w inny, predefiniowany sposób.

    PowerShell ma wiele różnych sposobów na zarządzanie wszystkimi tymi typami plików tekstowych, ale w tym artykule będziemy trzymać się najbardziej ogólnego podejścia: Skupimy się na czytaniu i niestrukturalnym tekście. Oznacza to brak plików XML, plików zapytań SQL, a nawet samych skryptów PowerShell. Skupimy się na dwóch tematach:

    1. Jak pobrać tekst z plików tekstowych.
    2. Jak znaleźć tekst w plikach tekstowych.

    Jak pobrać tekst z plików tekstowych

    Jednym z najprostszych zadań jest pobranie całego tekstu z istniejącego pliku tekstowego. Dla większości plików tekstowych skrypter PowerShell może użyć cmdleta Get-Content. Jest to bardzo popularny cmdlet PowerShell, który pobiera cały tekst z pliku tekstowego określonego przez parametr Path.

    W najprostszy sposób można przekazać parametr Path ze ścieżką do pliku tekstowego jako argument do cmdleta Get-Content. Załóżmy, że mam plik o nazwie MyText.txt. W tym pliku tekstowym mam trzy linie pokazane poniżej i chciałbym uzyskać zawartość MyText.txt za pomocą skryptu PowerShell.

    Aby to zrobić, mogę użyć Get-Content z parametrem Path.

    Zobaczysz, że wynikiem była cała zawartość MyText.txt. Ale co jeśli chciałbyś zobaczyć tylko konkretny numer linii? Domyślnie, Get-Content czyta każdą linię w pliku tekstowym i tworzy tablicę jako wyjście z każdą linią tekstu jako elementem w tej tablicy. Oznacza to, że mogę łatwo wybrać różne elementy w tej tablicy poprzez podanie numeru indeksu tablicy. W tym przypadku, numer indeksu tablicy jest równy numerowi linii pliku tekstowego.

    W powyższym przykładzie, pokazuję, że wynik Get-Content jest typem System.Array i że używając numerów indeksów w nawiasach mogę wybrać, które linie chcę wypisać na moją konsolę. Jedną rzeczą, którą należy zauważyć jest to, że jeśli nie jesteś zaznajomiony z tablicami i ich schematem numeracji, pierwszy element w tablicy zaczyna się od zera. To dlatego jestem w stanie użyć numeru jeden do wybrania drugiej linii i numeru dwa do wybrania trzeciej linii. Jest to ważne do zapamiętania.

    Jak znaleźć tekst w plikach tekstowych

    Gdy już jesteś w stanie dowiedzieć się jak znaleźć cały tekst w plikach tekstowych lub określone numery linii, kolejnym popularnym zadaniem jest znalezienie konkretnego tekstu wewnątrz samych plików. Istnieje kilka różnych sposobów, aby to zrobić, ale najłatwiejszym jest użycie polecenia Where-Object cmdlet. Polecenie Where-Object jest popularnym poleceniem, które pozwala na „odfiltrowanie” różnych informacji z danych wyjściowych innych poleceń; w tym przykładzie jest to filtrowanie informacji z polecenia Get-Content.

    Na przykładzie naszego poprzedniego pliku tekstowego, powiedzmy, że chcę sprawdzić, czy plik tekstowy zawiera słowa „plik tekstowy” razem w nim. Aby to zrobić, użyję Where-Object.

    Przy użyciu Where-Object muszę użyć zmiennej $_. Jest to specjalna zmienna w PowerShell znana jako zmienna rurociągu. W tym przykładzie reprezentuje ona każdą linię pliku tekstowego, tak jak pochodzi ona z Get-Content. Następnie używam operatora like i używam symboli wieloznacznych, aby sprawdzić, czy ciąg „plik tekstowy” istnieje w którejkolwiek z linii pliku tekstowego. Wygląda na to, że znaleziono dwie linie pasujące do tego łańcucha.

    Jeśli chcesz dowiedzieć się więcej o znajdowaniu tekstu w plikach tekstowych, proponuję zapoznać się z operatorami porównania PowerShell. Użycie operatora match, na przykład, używa regex, który jest znacznie bardziej wydajny niż operator like i pozwala na znalezienie w pliku tekstowym prawie każdego wzoru, jaki tylko przyjdzie nam do głowy.

    Previous articleNicole Curtis BioNext article Cincinnati, OH - Union Terminal (CIN)

    Dodaj komentarz Anuluj pisanie odpowiedzi

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

    Najnowsze wpisy

    • Znalezienie siebie (i innych…) w rocznikach online
    • Jak skonfigurować Bitcoin ASIC miner
    • Chris Martin ma urodziny w Disneylandzie z Dakotą Johnson
    • Co to jest teren Superfund?
    • Fishing-bait bloodworms have bee-sting bites
    • Władca Much
    • A Beginner’s Guide to Pegging
    • 42 Healthy Crockpot Soup Recipes
    • Tina Fey Biografia
    • Nike wydało 15 000 dolarów na specjalną maszynę tylko po to, aby Florida State center Michael Ojo’s shoes

    Archiwa

    • Kwiecień 2021
    • Marzec 2021
    • Luty 2021
    • Styczeń 2021
    • Grudzień 2020
    • Listopad 2020
    • Październik 2020
    • Wrzesień 2020
    • Sierpień 2020
    • Lipiec 2020
    • Czerwiec 2020
    • Maj 2020
    • Kwiecień 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Zaloguj się
    • Kanał wpisów
    • Kanał komentarzy
    • WordPress.org
    Posterity WordPress Theme