Como ler o arquivo linha por linha no script Bash

How Read File Line Line Bash Script



Como você escreveria um script Bash que pode processar um arquivo de texto uma linha por vez. Primeiro você precisa de uma sintaxe e abordagem para ler o arquivo linha por linha. Os métodos para esta abordagem são mostrados neste tutorial.

Suponha que você tenha um arquivo chamado company.txt que contém os nomes das empresas. Este arquivo contém o seguinte conteúdo.







Company.txt
Samsung
Nokia
LG
Sinfonia
Iphone

Exemplo -1: Lendo o conteúdo do arquivo a partir da linha de comando

Suponha que você queira ler o arquivo, empresa.txt , linha por linha a partir da linha de comando, sem 'gato' comando. Execute o seguinte comando para fazer a tarefa. enquanto loop irá ler cada linha do arquivo empresa.txt em cada etapa e armazene o conteúdo da linha em $ linha variável que será impressa posteriormente.



$enquanto leituralinha;Faz jogou fora $ linha;feito <company.txt



Exemplo -2: Lendo o conteúdo do arquivo usando o script

Crie um arquivo bash e adicione o código a seguir para ler o conteúdo de um arquivo específico. Aqui, um nome de arquivo existente é armazenado em $ filename variável e $ n variável é usada para manter o valor do número da linha desse arquivo. Como o exemplo anterior, enquanto loop é usado para ler este arquivo com o número da linha.





#! / bin / bash
nome do arquivo='empresa.txt'
n=1
enquanto leituralinha;Faz
# lendo cada linha
jogou fora 'Linha No.$ n:$ linha'
n= $((n +1))
feito < $ filename

Execute o seguinte comando para executar o script.

$bashreadfile1.sh

Corre 'gato' comando com empresa.txt arquivo para exibir o conteúdo original de company.txt Arquivo.



$ cat company.txt

Exemplo -3: Passando o nome do arquivo a partir da linha de comando e lendo o arquivo

Crie um arquivo bash e adicione o seguinte script. Este script obterá o nome do arquivo do argumento da linha de comando. O valor do primeiro argumento é lido pela variável $ 1 que conterá o nome do arquivo para leitura. Se o arquivo existir no local atual, então enquanto loop irá ler o arquivo linha por linha como no exemplo anterior e imprimir o conteúdo do arquivo.

#! / bin / bash
nome do arquivo=$ 1
enquanto leituralinha;Faz
# lendo cada linha
jogou fora $ linha
feito < $ filename

Execute o script acima com funcionário.txt arquivo como valor de argumento. A saída mostrará o conteúdo de funcionário.txt arquivo removendo espaço extra. Você pode mostrar o conteúdo original de funcionário.txt arquivo usando 'gato' comando.

$ bash readfile2.txt employee.txt
$ cat employee.txt

Exemplo - 4: Lendo o arquivo omitindo o escape da barra invertida

Se você quiser ler cada linha de um arquivo omitindo o escape da barra invertida, então você terá que usar ‘-R’ opção com comando de leitura em enquanto ciclo.

#! / bin / bash
enquanto leitura -rlinha;Faz
# Lendo cada linha
jogou fora $ linha
feito <empresa2.txt

Crie um arquivo chamado empresa2.txt com barra invertida e execute o seguinte comando para executar o script. A saída mostrará o conteúdo do arquivo sem nenhuma barra invertida.

$bashreadfile3.sh

Você precisará ler o arquivo para muitos propósitos de programação. Por exemplo, você pode pesquisar ou combinar qualquer conteúdo específico facilmente a partir de qualquer arquivo lendo cada linha separadamente. Portanto, é uma tarefa essencial para qualquer programação. Alguns exemplos simples de leitura de arquivo em script bash são mostrados neste tutorial. Isso o ajudará a ter a ideia de ler o conteúdo do arquivo linha por linha usando o loop while no script bash e aplicá-lo em seu script de maneira mais eficiente. Para mais informações veja o vídeo !