Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Lendo arquivos com loops

enquanto e até podem processar a entrada padrão. Isso permite que os arquivos sejam processados ​​com loops while e until. No exemplo a seguir, exibiremos o conteúdo do arquivo distros.txt usado nos capítulos anteriores:


#! / Bin / bash

# while-read: lê as linhas de um arquivo enquanto lê o lançamento da versão da distro; Faz

printf "Distribuição:% s \ tVersão:% s \ tLançado:% s \ n" \

$ distro \

$ version \

$ liberação feita <distros.txt

#! / Bin / bash

# while-read: lê as linhas de um arquivo enquanto lê o lançamento da versão da distro; Faz

printf "Distribuição:% s \ tVersão:% s \ tLançado:% s \ n" \

$ distro \

$ version \

$ liberação feita <distros.txt


Para redirecionar um arquivo para o loop, colocamos o operador de redirecionamento após o feito demonstração. O loop vai usar ler para inserir os campos do arquivo redirecionado. o ler O comando sairá após cada linha ser lida, com um status de saída zero até que o fim do arquivo seja alcançado. Nesse ponto, ele sairá com um status de saída diferente de zero, encerrando assim o loop. Também é possível canalizar a entrada padrão em um loop:



#! / Bin / bash


# while-read2: lê linhas de um arquivo

classificar -k 1,1 -k 2n distros.txt | enquanto lê o lançamento da versão da distro; do printf "Distribuição:% s \ tVersion:% s \ tReleased:% s \ n" \

$ distro \

$ version \

$ release

feito

#! / Bin / bash


# while-read2: lê linhas de um arquivo

classificar -k 1,1 -k 2n distros.txt | enquanto lê o lançamento da versão da distro; do printf "Distribuição:% s \ tVersion:% s \ tReleased:% s \ n" \

$ distro \

$ version \

$ release

feito


Aqui pegamos a saída do tipo comando e exibir o fluxo de texto. No entanto, é importante lembrar que, como um pipe irá executar o loop em um subshell, quaisquer variáveis ​​criadas ou atribuídas dentro do loop serão perdidas quando o loop terminar.


Top OS Cloud Computing na OnWorks: