Atualizar idade toda vez em que o arquivo com os dados da pessoa for mostrado pelo programa

1. Atualizar idade toda vez em que o arquivo com os dados da pessoa for mostrado pelo programa

hauck
hauck

(usa Nenhuma)

Enviado em 23/01/2020 - 01:49h

Olá, algumas informações importantes:


Eu uso o IF abaixo para calcular a idade da pessoa se o ano de nascimento for fornecido no cadastro e mais tarde $idade vai ser salva em um arquivo .txt com os outros dados do contato
 
if [[ -n $anoNascimento ]]; then
anoAtual=$(date +%Y)
idade=$(expr $anoAtual - $anoNascimento)
fi


Esta função abaixo vai mostrar o conteúdo do arquivo com os dados para o usuário.
 
arquivoContatos=("`dirname $0`/contactList.txt")
verArquivo="less -c $arquivoContatos"
visualizar(){
clear
echo -e "${green}Contatos Cadastrados ${end}"
echo -e "${white}Use a letra Q para voltar. ${end}"
sleep 2;$verArquivo;clear;menu
}



Na primeira linha de um novo registro são salvas a hora e a data em que os dados foram cadastrados.
No formulário de cadastro o nome e o telefone são obrigatórios.
Na data de nascimento, se uma informação não for fornecida - se a pessoa der 'Enter' na pergunta esse número é preenchido com 0 - se o ano não for preenchido a idade no momento do cadastro não é calculada e não é salva no arquivo.
E se os três dados de nascimento - dia mês ano - não forem dados a idade e a data de nascimento não são salvas no arquivo.
Os dados são salvos desta maneira:

# 00:24:43 01/22/20
Nome: nome
Idade: 00
Data de nascimento: 23/01/2020
Número de telefone: 000000000
Endereço de e-mail: e-mail

# 00:27:18 01/22/20
Nome: nome
Idade: 00
Data de nascimento: 23/01/2020
Número de telefone: 000000000
Endereço de e-mail: e-mail

# 00:29:03 01/22/20
Nome: nome
Idade: 00
Data de nascimento: 23/01/2020
Número de telefone: 000000000
Endereço de e-mail: e-mail

# 00:31:21 01/22/20
Nome: nome
Data de nascimento: 23/01/0000
Número de telefone: 000000000
Endereço de e-mail: e-mail

# 00:32:47 01/22/20
Nome: nome
Data de nascimento: 23/01/0000
Número de telefone: 000000000

# 01:00:52 01/22/20
Nome: nome
Idade: 00
Data de nascimento: 23/01/2020
Número de telefone: 000000000
Endereço de e-mail: e-mail

Minha dúvida:
Como posso substituir todos as ocorrências da idade antiga que foi salva no momento do cadastro com a nova idade atual no arquivo toda vez em que a função 'visualizar' mostra os dados?
Obrigado pela atenção.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts