Remova todos os caracteres que aparecem antes de uma determinada cadeia no PowerShell

3

Eu tenho um arquivo de texto com as seguintes informações:

24.;128.32.;128,6;0.128.68.;128,1.;0.76.;;;;;0,1.;0.4.;0,2.;0.5.;0,4.;;;0.76.;128,;;;;;;;;172.30.1.1,172.30.1.228,

Eu preciso remover todos os caracteres que aparecem antes de 172.30.1.1 . Para o meu arquivo, parece assim:

172.16.1.1,172.16.1.210,

Estou usando o Poweshell para fazer isso, mas sem sucesso.

    
por Jonathan Santos 29.10.2012 / 21:08

1 resposta

3

Muito disso dependerá da consistência dos seus dados. Haverá uma infinidade de métodos. Você poderia fazer isso com uma divisão:

$test = '24.;128.32.;128,6;0.128.68.;128,1.;0.76.;;;;;0,1.;0.4.;0,2.;0.5.;0,4.;;;0.76.;128,;;;;;;;;172.30.1.1,172.30.1.228,'
$partIWant = $test.Split(';')[$($test.Split(';').Count-1)]
$partIWant

Você também pode usar um regex:

$partIWant = $test -replace '.+(\d+.\d+\.\d+\.\d+\.\d+,\d+\.\d+\.\d+\.\d+,)', '$1'
$partIWant

Você precisará escolher o método que deseja usar e criá-lo para os dados específicos com os quais trabalhará.

    
por 29.10.2012 / 21:14