Explicação detalhada do método de loop de shell lendo cada linha do arquivo

Quando você precisar ler cada linha de um arquivo para processamento em um script de shell, poderá usar um loop while ou um loop for. Ambos os métodos são descritos em detalhes abaixo.

 

Método 1: use o loop while


Usar um loop while é uma maneira comum de ler cada linha de um arquivo. A sintaxe básica deste método é a seguinte:

while read line
do
    # 处理每一行的代码
done < filename

Dentre eles, read lineo comando serve para ler cada linha do arquivo e armazená-la em lineuma variável. < filenameRepresenta a leitura da entrada de um arquivo.

Aqui está um exemplo que mostra como usar um loop while para ler cada linha em um arquivo:

#!/bin/bash

filename="example.txt"

while read line
do
    echo $line
done < $filename

No exemplo acima, usamos whileum loop para ler example.txtcada linha do arquivo e echoenviá-la para o terminal usando um comando.

 

 

Método 2: usar loop for


Usar um loop for também é uma maneira de ler todas as linhas de um arquivo. A sintaxe básica deste método é a seguinte:

for line in $(cat filename)
do
    # 处理每一行的代码
done

Dentre eles, $(cat filename)o comando serve para ler o conteúdo do arquivo em uma string e separar cada linha com um espaço ou caractere de nova linha. forO loop atribui cada linha da string a lineuma variável.

Aqui está um exemplo que mostra como usar um loop for para ler cada linha em um arquivo:

#!/bin/bash

filename="example.txt"

for line in $(cat $filename)
do
    echo $line
done

No exemplo acima, usamos forum loop para ler example.txtcada linha do arquivo e echoenviá-la para o terminal usando um comando.

 

 

Descrição de exemplo


Abaixo estão dois exemplos que demonstram como usar um script de shell para percorrer cada linha de um arquivo.

Exemplo 1: use um loop while para ler cada linha do arquivo

Suponha que exista um example.txtarquivo nomeado com o seguinte conteúdo:

apple
banana
orange

Podemos usar o seguinte script de shell para ler cada linha do arquivo usando um loop while:

#!/bin/bash

filename="example.txt"

while read line
do
    echo $line
done < $filename

A execução do script acima produzirá o seguinte:

apple
banana
orange

Exemplo 2: Use um loop for para ler cada linha do arquivo

Digamos que temos um example.txtarquivo chamado com o seguinte conteúdo:

apple
banana
orange

Podemos usar o seguinte script de shell para ler cada linha do arquivo usando um loop for:

#!/bin/bash

filename="example.txt"

for line in $(cat $filename)
do
    echo $line
done

A execução do script acima produzirá o seguinte:

apple
banana
orange

 

Resumir


Usar loops while e loops for são formas comuns de ler cada linha em um arquivo. O loop while é adequado para processar arquivos grandes, enquanto o loop for é adequado para processar arquivos pequenos. Ao usar esses dois métodos, você precisa prestar atenção ao formato de cada linha do arquivo para que o conteúdo de cada linha possa ser lido e processado corretamente.

Acho que você gosta

Origin blog.csdn.net/qq_34556414/article/details/132809359
Recomendado
Clasificación