Sintaxe básica de enquanto lida linha
A sintaxe a seguir é usada para o Bash Shell para ler um arquivo usando o loop while:
enquanto lida -r linha;
fazer
echo "$ line";
feito < input.file
A opção '-r' na sintaxe mencionada acima passada para ler o comando que evita a barra de barragem de ser interpretada. A opção 'input_file' representou o nome do seu arquivo que você deseja acessar usando o comando 'Read'.
O separador de campo interno abreviou como Ifs pode ser usado antes que o comando de leitura seja definido como a string nula que impede que o espaço de branco que lidera ou à direita seja aparado.
enquanto ifs = leia -r line;
fazer
eco $ line;
feito < input.file
Abra o terminal usando 'Ctrl + alt + t' atalho e depois execute os seguintes comandos nele.
Exemplo # 1: Linha de leitura de arquivo por linha
Vamos dar um exemplo no qual suponha que tenhamos um arquivo chamado 'OS.TXT' contendo os nomes de todas as importantes distribuições Linux. Se você quiser ler um arquivo sem usar o 'gato' Comando então, para esse fim, você pode executar o seguinte comando para executar a tarefa específica. Usaremos o loop while que lerá cada linha do arquivo 'OS.TXT' e armazena o conteúdo em cada etapa em uma linha $ variável que você pode exibir posteriormente.
Cole os seguintes nomes de distribuições Linux no 'OS.TXT'
CENTOSenquanto lida linha;
fazer
eco $ line;
feito < OS.txt
Do comando acima, você receberá a seguinte resposta na janela do terminal:
Exemplo # 2: Leitura de arquivo usando o script Bash
Crie um arquivo Bash e adicione o código abaixo mencionado neste arquivo para ler o conteúdo do arquivo. Você pode armazenar o arquivo de texto anterior em uma nova variável $ nome do arquivo e variável $ n é usado para manter o valor de cada linha. Agora, usando o loop do while, leremos cada linha de um arquivo com um número de linha específico.
#!/BIN/BASH
nome do arquivo = 'OS.TXT'
n = 1
enquanto lida linha;
fazer
# para ler cada linha
eco "Linha de distribuição do sistema operacional. $ n: $ line "
n = $ ((n+1))
feito < $filename
Salve o arquivo com um nome Osinfo.sh ' e digite o seguinte comando no terminal para executar o script de bash acima.
$ Bash Osinfo.sh
Agora, execute o comando CAT para visualizar o conteúdo original do arquivo.
$ CAT OS.TXT
Método alternativo para leitura de arquivos
Usando o nome do arquivo passante de um comando
Em um arquivo bash, você precisa adicionar o seguinte script de código. Neste script, temos que tomar um nome de arquivo como um argumento. Primeiro, o valor de um argumento é lido por um $ 1 variável que tem um nome de arquivo para leitura. Ele verificará se o nome do arquivo existe no local especificado e, em seguida, usando o loop que ele leu uma linha por linha semelhante ao exemplo anterior.
#!/BIN/BASH
nome do arquivo = $ 1
se [[ ! -f $ FILENAME]]; então
eco "Erro, você deve entrar em um nome de arquivo como um parâmetro de linha de comando"
saída
fi
enquanto lida linha; fazer
# lendo cada linha
eco $ linha
feito < $filename
Salve o script acima com nomeado 'Leia a linha.sh ' e execute o seguinte comando no terminal para executar o script mencionado acima:
$ bash readline.sh OS.TXT
Você pode ver que o parâmetro foi usado como $ nome do arquivo, e leia linha por linha com o enquanto lida a linha Sintaxe do parâmetro fornecido na linha de comando.
Conclusão
Neste artigo, discutimos como ler as linhas usando o loop while na programação de bash. Implementamos métodos diferentes usando o script Bash ou você pode simplesmente usar um arquivo de texto para executar a leitura de uma linha de arquivo por linha. Se você estiver interessado em aprender mais exemplos, usando a sintaxe mencionada acima, você também pode executar em seu sistema. Espero que você tenha gostado deste tutorial e seja único para você. Vamos saber em caso de qualquer erro.