Jak mogę zastąpić każde wystąpienie ciągu w pliku PowerShell

Jak mogę zastąpić każde wystąpienie ciągu w pliku PowerShell

PowerShell jest wystarczająco potężny, aby wykonywać operacje eksploratora plików, takie jak kopiowanie, poruszanie, zmiana nazwy lub usuwanie pliku. Może odczytać i zastąpić zawartość w pliku tekstowym, czy to ciąg, czy jedno słowo. W szczególności PowerShell ma takie polecenia, które można wykorzystać do odczytu i zastąpienia każdej instancji ciągu.

Ten samouczek pokaże kilka metod rozwiązania wspomnianego zapytania.

Jak wymienić każdą instancję ciągu w pliku za pomocą PowerShell?

Podejścia te można zastosować do naprawy określonego zapytania:

  • Containt i Containt.
  • Io.Plik.

Metoda 1: Użyj metod „Get-Content” i „Set-Content”, aby zastąpić każdą instancję ciągu w pliku dokumentu

To podejście najpierw wykorzystuje „Pobierz zawartość”CMDLET do pobrania danych w pliku, a następnie używa„Set-content”CMDLET, aby zastąpić lub napisać nowe zdarzenie lub treść. Szczególnie „„ „„-Zastępować„Parametr służy do zastąpienia instancji ciągu w pliku.

Spójrz na podany przykład, aby dokładnie go zrozumieć.

Przykład

Przede wszystkim sprawdźmy wersję pliku przed zastąpieniem każdego zdarzenia. Z tego powodu wykonaj „Pobierz zawartość”CMDLET obok ścieżki pliku:

> Get-Content C: \ Doc \ Plik.tekst

Teraz wymieńmy słowo „Kot”Z„Pies”:

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

Zgodnie z powyższym poleceniem:

  • Po pierwsze, użyliśmy „Pobierz zawartość”CMDLET obok ścieżki pliku w obrębie polecenia odwróconego.
  • Następnie dodaliśmy „-Zastępować”Parametr i określone dwa słowa oddzielone przecinkiem, w którym pierwsze słowo zostanie zastąpione drugim.
  • Następnie rurociąg „|”Jest wykorzystywany do przeniesienia wyjścia do„Set-content”Cmdlet jako wejście.
  • Wreszcie ten cmdlet jest używany obok ścieżki pliku, aby potwierdzić wymianę ciągu w pliku:

W celu weryfikacji ponownie uzyskaj zawartość wybranego pliku:

> Get-Content C: \ Doc \ Plik.tekst

Można zauważyć, że słowo „Kot”Został zastąpiony„Pies" z powodzeniem.

Metoda 2: Użyj „systemu.Io.Plik ”metoda zastąpienia każdego wystąpienia/instancji ciągu w pliku

Microsoft .Klasa netto „Plik”Jest specjalnie używany do zarządzania eksploratorem plików. W szczególności odgrywa istotną rolę w wymianie instancji ciągu w pliku.

Przykład

Najpierw sprawdź treść „php.tekst”:

> Get-content c: \ doc \ php.tekst

Następnie uruchom następujące polecenia:

> $ str = [system.Io.Plik] :: ReadallText ("C: \ doc \ php.tekst").Wymień („PHP”, „Python”)
> [System.Io.Plik] :: writealText ("c: \ doc \ php.txt ", $ str)

Zgodnie z powyższym kodem:

  • Po pierwsze, stworzyliśmy zmienną, a następnie określiliśmy „Io.Plik" klasa.
  • „„ReadallText ()„Metoda wspomnianej klasy odczytuje tekst w pliku, podczas gdy„Zastępować()”Metoda zastępuje wybrane wystąpienia w pliku tekstowym.
  • W drugiej linii użyliśmy „[System.Io.Plik] :: writealLText ()”Metoda i dodanie ścieżki pliku, a następnie zmienna, aby zastąpić określone występowanie w pliku:

Sprawdźmy, czy słowo zostało zastąpione, czy nie. Dla

> Get-content c: \ doc \ php.tekst

Słowo "php”Został zastąpiony„Pyton" z powodzeniem.

Wniosek

W przypadku PowerShell każde zdarzenie/instancja ciągu w pliku można zastąpić dwiema metodami, w tym „Pobierz zawartość" I "Set-content" I "System.Io.Plik". Obie metody najpierw odzyskują plik tekstowy, a następnie zastąpić występowanie określonego słowa w tym pliku tekstowym. Ten post przedstawił dokładny przewodnik po rozwiązaniu określonego problemu.