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 line
o comando serve para ler cada linha do arquivo e armazená-la em line
uma variável. < filename
Representa 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 while
um loop para ler example.txt
cada linha do arquivo e echo
enviá-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. for
O loop atribui cada linha da string a line
uma 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 for
um loop para ler example.txt
cada linha do arquivo e echo
enviá-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.txt
arquivo 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.txt
arquivo 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.