Estou construindo um script o qual necessita acessar um arquivo, linha a linha, partindo da última linha para a primeira linha. Existe algum comando que possa auxiliar a construção deste script?
Resposta: O comando
cat exibe o conteúdo de um arquivo da primeira linha para a última linha, já o comando
tac, cat escrito ao contrário, exibe o conteúdo de um arquivo da última linha para a primeira linha.
Exemplo de uso e saída do comando cat:
$ cat dias_semana.txt
Domingo
Segunda-feira
Terça-feira
Quarta-feira
Quinta-feira
Sexta-feira
Sábado
Exemplo de uso e saída do comando tac:
$ tac dias_semana.txt
Sábado
Sexta-feira
Quinta-feira
Quarta-feira
Terça-feira
Segunda-feira
Domingo
Exemplo de um script que acessa um arquivo, linha a linha, partindo da última linha para a primeira linha:
#!/bin/bash
lista=`tac dias_semana.txt`
for item in $lista; do
echo 'Hoje é '$item', dia de bebemorar :-)'
done
Saída do script acima:
Hoje é Sábado, dia de bebemorar :-)
Hoje é Sexta-feira, dia de bebemorar :-)
Hoje é Quinta-feira, dia de bebemorar :-)
Hoje é Quarta-feira, dia de bebemorar :-)
Hoje é Terça-feira, dia de bebemorar :-)
Hoje é Segunda-feira, dia de bebemorar :-)
Hoje é Domingo, dia de bebemorar :-)
Obs.: Caso necessite, troque tac por cat no script acima.
Abraços,
Prof. D.M.T.