¿Cómo puedo reemplazar cada aparición de una cadena en un archivo con PowerShell?

¿Cómo puedo reemplazar cada aparición de una cadena en un archivo con PowerShell?

PowerShell es lo suficientemente potente como para realizar las operaciones del explorador de archivos, como copiar, mover, cambiar el nombre o eliminar un archivo. Puede leer y reemplazar el contenido dentro de un archivo de texto, ya sea una cadena o una sola palabra. En particular, PowerShell tiene tales comandos que se pueden emplear para leer y reemplazar cada instancia de una cadena.

Este tutorial demostrará un par de métodos para resolver la consulta mencionada.

Cómo reemplazar cada instancia de una cadena en un archivo utilizando PowerShell?

Estos enfoques se pueden emplear para arreglar la consulta establecida:

  • Obtener contenido y establecer contenido.
  • IO.Archivo.

Método 1: utilice los métodos "Get-Content" y "Set-Content" para reemplazar cada instancia de una cadena en un archivo de documento

Este enfoque utiliza primero el "Obtener el contenido"Cmdlet para recuperar los datos dentro del archivo y luego usa el"Contenido de set"Cmdlet para reemplazar o escribir la nueva ocurrencia o contenido. Particularmente, el "-ReemplazarEl parámetro se usa para reemplazar la instancia de una cadena en un archivo.

Eche un vistazo al ejemplo dado para comprenderlo.

Ejemplo

En primer lugar, verifiquemos la versión del archivo antes de reemplazar cada ocurrencia. Por esa razón, ejecute el "Obtener el contenido"Cmdlet junto con la ruta del archivo:

> Get-Content C: \ Doc \ File.TXT

Ahora, reemplacemos la palabra "Gato" con el "Perro":

> (Get-Content C: \ Doc \ File.txt) -Replace 'gato', 'perro' | Establecer contenido c: \ doc \ archivo.TXT

Según el comando anterior:

  • En primer lugar, usamos el "Obtener el contenido"Cmdlet junto con la ruta del archivo dentro del comando invertido.
  • A continuación, agregamos el "-ReemplazarParámetro y especificado dos palabras separadas por una coma, donde la primera palabra será reemplazada por la segunda.
  • Entonces, la tubería "|"Se utiliza para transferir la salida al"Contenido de set"Cmdlet como entrada.
  • Finalmente, este cmdlet se usa junto con la ruta del archivo para confirmar el reemplazo de la cadena en un archivo:

Para la verificación, nuevamente, obtenga el contenido del archivo seleccionado:

> Get-Content C: \ Doc \ File.TXT

Se puede observar que la palabra "Gato"Ha sido reemplazado por"Perro" exitosamente.

Método 2: use el "sistema.IO.Método de archivo "para reemplazar cada ocurrencia/instancia de una cadena en un archivo

Microsoft's .Clase neta "Archivo"Se usa específicamente para administrar el explorador de archivos. Particularmente, juega un papel vital en el reemplazo de la instancia de una cadena en un archivo.

Ejemplo

En primer lugar, consulte el contenido del "php.TXT":

> Get-Content C: \ Doc \ Php.TXT

Luego, ejecute los siguientes comandos:

> $ str = [sistema.IO.Archivo] :: ReadallText ("C: \ doc \ php.TXT").Reemplazar ("PHP", "Python")
> [Sistema.IO.Archivo] :: WriteAlLText ("C: \ doc \ php.txt ", $ str)

Según el código anterior:

  • En primer lugar, creamos una variable y luego especificamos el "IO.Archivo" clase.
  • El "ReadallText ()"El método de la clase mencionada lee el texto en el archivo, mientras que el"Reemplazar()El método "reemplaza las ocurrencias seleccionadas en el archivo de texto.
  • En la segunda línea, hemos usado el "[Sistema.IO.Archivo] :: WriteAllText ()Método "y agregó la ruta del archivo y luego la variable para reemplazar la ocurrencia especificada en el archivo:

Verifiquemos si la palabra ha sido reemplazada o no. Para

> Get-Content C: \ Doc \ Php.TXT

La palabra "php"Ha sido reemplazado por"Pitón" exitosamente.

Conclusión

Con PowerShell, cada ocurrencia/instancia de una cadena en un archivo se puede reemplazar utilizando dos métodos, incluidos "Obtener el contenido" y "Contenido de set" y "Sistema.IO.Archivo". Ambos métodos primero recuperan el archivo de texto y luego reemplace la ocurrencia de la palabra especificada en ese archivo de texto. Esta publicación ha presentado una guía exhaustiva para resolver el problema declarado.