Como ler a linha de arquivo por linha no script Bash

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

Suponha que você tenha um arquivo chamado empresa.TXT que conteúdo os nomes da empresa. Este arquivo contém o seguinte conteúdo.

Empresa.TXT
Samsung
Nokia
LG
Sinfonia
Iphone

Exemplo -1: Leitura de conteúdo do arquivo da linha de comando

Suponha que você queira ler o arquivo, empresa.TXT, linha por linha da linha de comando sem 'gato' comando. Execute o seguinte comando para realizar a tarefa. enquanto O loop lerá cada linha do arquivo empresa.TXT em cada etapa e armazenar o conteúdo da linha em $ linha variável que será impressa mais tarde.

$ enquanto lida na linha; fazer eco $ line; feito < company.txt

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

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

#!/BIN/BASH
FileName = 'Company.TXT'
n = 1
enquanto lida linha; fazer
# lendo cada linha
eco "Linha não. $ n: $ line "
n = $ ((n+1))
feito < $filename

Execute o seguinte comando para executar o script.

$ Bash readfile1.sh

Correr 'gato' comando com empresa.TXT arquivo para exibir o conteúdo original de empresa.TXT arquivo.

$ CAT Company.TXT

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

Crie um arquivo bash e adicione o seguinte script. Este script retirará 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 lerá a linha de arquivo por linha, como exemplo anterior e imprimirá o conteúdo do arquivo.

#!/BIN/BASH
nome do arquivo = $ 1
enquanto lida linha; fazer
# lendo cada linha
eco $ 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.funcionário txt.TXT
$ CAT Funcionário.TXT

Exemplo - 4: Leitura de arquivo omitindo a backslash Escape

Se você quiser ler cada linha de um arquivo omitindo o backslash escape, então você deve usar '-R' opção com o comando de leitura em enquanto laço.

#!/BIN/BASH
enquanto lida -r linha; fazer
# Lendo cada linha
eco $ linha
feito < company2.txt

Crie um arquivo chamado Empresa2.TXT com barragem e execute o seguinte comando para executar o script. A saída mostrará o conteúdo do arquivo sem qualquer barra de barriga.

$ Bash readfile3.sh

Você precisará ler o arquivo para muitos fins de programação. Por exemplo, você pode pesquisar ou combinar qualquer conteúdo específico facilmente de qualquer arquivo lendo cada linha separadamente. Então, é uma tarefa essencial para qualquer programação. Alguns exemplos simples de arquivo de leitura no script bash são mostrados neste tutorial. Isso ajudará você a ter a idéia de ler o conteúdo de arquivos por linha, usando o loop no script Bash e aplicar em seu script com mais eficiência. Para mais informações, assista ao vídeo!