Howe para editar a primeira / segunda linha de um arquivo pelo powershell?

3

Agora eu uso o get-content para obter o conteúdo do arquivo, preciso editar algumas das linhas. Por exemplo, mude a segunda linha:

antes:

line2: hello Everyone!

depois:

line2: Hello Mr. Brown!

Qual cmdlet eu posso usar?

    
por pansal 09.11.2011 / 04:42

2 respostas

3
$file = Get-Content myfile.txt
$file | ForEach-Object { 
    if ($_.ReadCount -eq 2) { 
      $_ -replace '\w+','Hello Mr. Brown!' 
    } else { 
      $_ 
    } 
  } | 
  Set-Content myfile.txt

Isto irá alterar a segunda linha (especificada através de ReadCount -eq ) para Hello Mr. Brown! . Certifique-se de usar o PowerShell 2.0 +.

    
por 09.11.2011 / 10:43
0

Se o conteúdo for suficientemente exclusivo, uma substituição será aplicada a todas as linhas (mas corresponderá apenas àquela em que você está interessado).

Caso contrário, carregue o arquivo inteiro em uma coleção e atualize o segundo elemento (índice um).

Se o arquivo for grande o suficiente para carregar o arquivo inteiro na memória de uma só vez, então algo mais inteligente será necessário….

    
por 09.11.2011 / 10:29

Tags