PowerShell: Cómo reemplazar una línea completa que contiene un patrón
A menudo, es posible que desee utilizar PowerShell para reemplazar una línea completa en un archivo de texto que coincida con un patrón.
Puede utilizar la siguiente sintaxis para hacerlo:
$line = (Select-String "Rockets" teams.txt).line
Get-Content teams.txt | ForEach { $_ -replace $line, "Western Team" } | Set-Content teams_new.txt
Este ejemplo en particular reemplaza la línea completa que contiene el patrón "Rockets" en el archivo llamado teams.txt con el nuevo texto "Western Team" y guarda los resultados en un nuevo archivo llamado teams_new. texto.
Tenga en cuenta que utilizamos el cmdlet Select-String con la propiedad line para seleccionar primero la línea completa en el archivo teams.txt que contiene el patrón. “Cohetes” y almacene esta línea en una variable llamada $line.
Luego usamos el operador -replace para reemplazar el texto en esta línea específica con el texto "Equipo occidental".
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: Cómo reemplazar una línea completa que contiene un patrón en PowerShell
Supongamos que tenemos un archivo en nuestro directorio actual llamado teams.txt que contiene información sobre varios equipos de baloncesto.
Podemos usar el cmdlet Get-Content para ver el contenido de este archivo:
Ahora supongamos que nos gustaría reemplazar toda la línea que contiene el patrón "Cohetes" con el texto "Equipo occidental".
Podemos utilizar la siguiente sintaxis para hacerlo:
$line = (Select-String "Rockets" teams.txt).line
Get-Content teams.txt | ForEach { $_ -replace $line, "Western Team" } | Set-Content teams_new.txtLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Observe que cuando usamos el cmdlet Get-Content para ver el contenido del archivo teams_new.txt podemos ver que la línea completa que contenía el patrón "Rockets" ha sido reemplazado con "Equipo occidental" en su lugar.
Todas las demás líneas del archivo no han cambiado.
No dudes en reemplazar "Cohetes" con cualquier patrón que quieras buscar en tu propio archivo.

