Korzystanie z PowerShell do odczytu plików tekstowych i wymiany tekstu

Korzystanie z PowerShell do odczytu plików tekstowych i wymiany tekstu
PowerShell to narzędzie odpowiedzialne za wykonywanie wszystkich zadań administratora i automatyzacji. Jest w stanie obsłużyć wszystkie operacje eksploratora plików, takie jak kopiowanie, zmiana nazwy, przenoszenie lub usuwanie plików. Mówiąc dokładniej, PowerShell ma kilka cmdlet, które mogą odczytać pliki tekstowe, a także zastępować tekst w tych plikach. Jednakże "Pobierz zawartość”CMDLET służy do odczytu plików za pomocą„-zastępować„Parametr do wymiany tekstu.

Ten blog omówi metody naprawy wspomnianego zapytania.

Jak odczytać pliki tekstowe i zastąpić tekst za pomocą PowerShell?

Teraz omówimy dwie procedury odczytu plików tekstowych i zastępowania tekstu osobno i w połączeniu.

Metoda 1: Przeczytaj pliki tekstowe za pomocą polecenia PowerShell „Get-Content”

„„Pobierz zawartość”CMDLET jest używany w PowerShell do czytania plików tekstowych. Ta cmdlet wyświetla dane plików tekstowych w konsoli PowerShell.

Przykład 1: Przeczytaj jeden plik tekstowy

Ten przykład pokaże, jak czytać pliki tekstowe za pomocą „Pobierz zawartość”Cmdlet. Ale najpierw utwórzmy plik tekstowy za pomocą „Plik out”Cmdlet.

„To jest jakiś tekst” | Plik out c: \ doc \.tekst

Zgodnie z powyższym kodem:

  • Najpierw dodaj ciąg w poleceniu odwróconym.
  • Następnie dodaj rurociąg „|„Aby przenieść wynik poprzedniego polecenia do następnego polecenia.
  • Następnie użyj „Plik out”CMDLET wraz ze ścieżką pliku, aby wyeksportować wyjście do pliku tekstowego:

Przeczytajmy zawartość eksportowanego pliku tekstowego za pomocą „Pobierz zawartość”CMDLET z ścieżką pliku:

Get-Content C: \ Doc \ Plik.tekst

Pojedynczy plik tekstowy został pomyślnie odczytany.

Przykład 2: Przeczytaj wszystkie pliki tekstowe w określonym katalogu

Ta demonstracja pomoże odczytać wszystkie pliki tekstowe dostępne w odpowiednim katalogu:

Get-Content C: \ Doc \*.tekst

Najpierw dodaj „Pobierz zawartość”CMDLET wraz z adresem folderu i dodaj wieloznaczną kartę”*" wraz z ".tekst”Rozszerzenie, aby odczytać wszystkie pliki tekstowe w odpowiednim folderze:

Wszystkie pliki tekstowe zostały pomyślnie odczytane w katalogu.

Metoda 2: Zastąp tekst za pomocą parametru „-replace” PowerShell

„„-zastępować„Parametr służy do wymiany tekstu w ciągu. Wymaga dwóch słów instancje oddzielone przecinkiem. Ta opcja działa w taki sposób, że przeszukuje pierwsze słowo i zastępuje je drugim słowem.

Przykład 1: Wymień tekst w ciągu

Teraz wymień instancje tekstowe w ramach przypisanej zmiennej:

$ str = "Hello Earth"
$ str -replace „Ziemia”, „Mars”

Zgodnie z powyższym kodem:

  • Najpierw dodaj zmienną i przypisz do niej ciąg tekstowy.
  • Następnie w następnym wierszu określ zmienną i „-zastępować„Operator wraz z dwoma słowami oddzielonymi przecinkami.
  • Pierwsze słowo zostanie przeszukane w ciągu i zastąpione drugim:

Można zauważyć, że „Ziemia”Został zastąpiony„Mars".

Przykład 2: Wymień wszystkie instancje tekstowe w pliku

W tym przykładzie zastąpi wszystkie instancje tekstowe wewnątrz określonego pliku tekstowego:

(Plik C: \ Doc \.txt) -replace „cat”, „pies” | Set-content c: \ doc \ plik.tekst

Zgodnie z powyższym kodem:

  • Najpierw napisz „Pobierz zawartość”CMDLET wraz z adresem pliku w małych nawiasach.
  • Następnie dodaj „-zastępować”Parametr i dodaj dwa słowa w odwróconych przecinkach oddzielonych przecinkiem.
  • Następnie dodaj rurociąg „|”I użyj„Set-content”Wraz z ścieżką pliku docelowego:

Sprawdźmy zastąpiony tekst, wykonując poniższe polecenie:

Get-Content C: \ Doc \ Plik.tekst

Można zauważyć, że różne instancje tekstowe wewnątrz pliku zostały pomyślnie wymienione.

Wniosek

PowerShell używa „Pobierz zawartość”CMDLET wraz ze ścieżką plików do odczytu plików tekstowych. Aby wymienić tekst, najpierw dodaj ścieżkę ciągu lub pliku za pomocą „get-content”, a następnie dodaj „-zastępować”Parametr obok dwóch słów oddzielonych przecinkiem. Ten post opracował szczegółowy przewodnik po odczytaniu i zastąpieniu tekstu w PowerShell osobno lub jednocześnie.