Leia a linha de arquivo por linha em PowerShell

Leia a linha de arquivo por linha em PowerShell
PowerShell é um utilitário Windows usado para gerenciar e automatizar todas as tarefas administrativas no Windows. Também é benéfico quando se trata de gerenciar arquivos, como criar arquivos, excluir arquivos, mover arquivos ou ler arquivos. Se você tem um arquivo de texto e está tendo dificuldades em ler a linha por linha no bloco de notas, deixe PowerShell fazer isso por você.

Esta postagem será exibida em um guia completo para resolver a consulta declarada.

Como ler uma linha de arquivo por linha em PowerShell?

Os arquivos no PowerShell podem ser lidos usando os métodos fornecidos:

  • Obter conteudo
  • Regex
  • [Sistema.Io.Arquivo]

Método 1: Lendo uma linha de arquivo por linha usando cmdlet “Get-Content”

Powershell usa o “Obter conteudo”CMDLET para obter o conteúdo do arquivo, como o conteúdo do arquivo de texto. Nesta abordagem, o “Para cada”O loop é usado para iterar através do arquivo de texto e ler a linha de arquivo por linha.

Exemplo

Neste código de exemplo, usaremos o “Obter conteudo”Cmdlet com a ajuda do“para cada”Loop para ler uma linha de arquivo por linha:

$ Arquivo = Get-Content "C: \ Users \ Muhammad Farhan \ Desktop \ Novo.TXT"
foreach ($ line in $ file)

Write-Output "$ Line"

Aqui:

  • ““Obter conteudo”O cmdlet é usado para buscar/recuperar o arquivo do local especificado.
  • ““para cada()”O loop é utilizado no código acima para ler a linha de arquivo por linha.

Saída

A saída confirma que o arquivo foi lido por linha por linha.

Método 2: Lendo uma linha de arquivo por linha usando “[sistema.Io.Arquivo] ”classe

Outro método que pode ser usado como substituto do cmdlet de conteúdo Get é o .Net Library's "[Sistema.Io.Arquivo]" aula. Também ajuda a obter o conteúdo do arquivo usando o “ReadLines ()”Método.

Exemplo

Agora vamos usar o “[Sistema.Io.Arquivo]" classe com a combinação do “para cada”Loop para ler a linha de arquivo por linha:

foreach ($ linha em [sistema.Io.Arquivo] :: ReadLines ("C: \ Users \ Muhammad Farhan \ Desktop \ Novo.TXT"))

Linha de write-output $

Aqui:

  • ““[Sistema.Io.Arquivo]”Classe usa a“ReadLines ()”Parâmetro para ler um arquivo.
  • ““para cada”O loop é adicionado para iterar através de arquivos linha por linha.

Saída

Método 3: Lendo uma linha de arquivo por linha usando a classe "regex"

O "regex”É a forma curta do“Expressão regular”. É um padrão utilizado para corresponder ao texto no arquivo correspondente. Além disso, também pode ser utilizado para ler uma linha por linha. Para fazer isso, especifique o valor do “$ regex”Variável como uma string vazia e use o“para cada”Faça um loop para ler o arquivo sequencialmente.

Exemplo

Agora, usaremos o “Regex”Com a combinação do“Obter conteudo”Cmdlet e“para cada()”Loop para ler uma linha de arquivo por linha:

$ regex = "
foreach ($ line in Get -Content -Path "C: \ Users \ Muhammad Farhan \ Desktop \ Novo.TXT")

if ($ line -Match $ regex)

Linha de write-output $

No código acima:

  • ““$ regex”A variável contém string vazia como uma expressão regular.
  • ““Obter conteudo”O cmdlet é usado para recuperar o arquivo e o conteúdo dentro dele.
  • ““para cada”É usado para iterar através das linhas.

Saída

A saída verifica se o arquivo foi lido linha por linha.

Conclusão

Para ler arquivos linha por linha em PowerShell, use a combinação do “Obter conteudo”Cmdlet e“para cada" laço. O cmdlet de conteúdo Get recebe o conteúdo do arquivo, e o loop foreach iterará através das linhas para ajudar a ler o código Line By Line. Além disso, "regex" e "[Sistema.Io.Arquivo]”Os métodos também podem ser usados ​​para o mesmo objetivo. Este post apresentou inúmeras abordagens para resolver a consulta mencionada.