Comparando linha com a data do sistema, SHELLSCRIPT [RESOLVIDO]

1. Comparando linha com a data do sistema, SHELLSCRIPT [RESOLVIDO]

Matheus Genteluci de Almeida
MGenteluci2

(usa Ubuntu)

Enviado em 01/12/2016 - 15:17h

Boa tarde galera, estou com uma dúvida que está realmente dificil de resolver, eu estou com um arquivo em que em cada linha possui informações sobre uma pessoa diferente, cada linha está da seguinte forma:
$nome":"$sobrenome":"$tel":"$anoNasc"/"$diaNasc"/"$mesNasc

Eu preciso verificar se em alguma linha possui alguem que esteja fazendo aniversário durante o mes atual.
Meu script está da seguinte forma:

aniversarioMes(){
for line in $(cat arquivoAgenda)
do
if [ "cut -d/ -f3" = "$(date +%m)" ]
then
echo $line >> aniversariantesMes
fi
done
cat aniversariantesMes
}

Porém não está funcionando, se alguém puder dar uma esclarecida agradeço.
O script roda sem erros, ele apenas não está igualando os dois, o cut -d/ -f3 não está sendo igual ao date +%m mesmo que os valores estejam iguais.


  


2. Re: Comparando linha com a data do sistema, SHELLSCRIPT [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 01/12/2016 - 16:35h

MGenteluci2 escreveu:

Boa tarde galera, estou com uma dúvida que está realmente dificil de resolver, eu estou com um arquivo em que em cada linha possui informações sobre uma pessoa diferente, cada linha está da seguinte forma:
$nome":"$sobrenome":"$tel":"$anoNasc"/"$diaNasc"/"$mesNasc

Eu preciso verificar se em alguma linha possui alguem que esteja fazendo aniversário durante o mes atual.
Meu script está da seguinte forma:

aniversarioMes(){
for line in $(cat arquivoAgenda)
do
if [ "cut -d/ -f3" = "$(date +%m)" ]
then
echo $line >> aniversariantesMes
fi
done
cat aniversariantesMes
}

Porém não está funcionando, se alguém puder dar uma esclarecida agradeço.
O script roda sem erros, ele apenas não está igualando os dois, o cut -d/ -f3 não está sendo igual ao date +%m mesmo que os valores estejam iguais.



__________________________________
Vi que esta como resolvido, mas fica como sugestão . . .
if grep "$(date +%m)$" arquivoAgenda > aniversariantesMes;then
TTL=(Nome Fone Aniv)
echo -e "\nAniversários do Mês de $(date +%B)\n"
while IFS=":" read -a FIELDS;do
for ((x=0;x<${#FIELDS[*]};x++));do
echo "${TTL[$x]}: ${FIELDS[$x]}"
done;echo;done<aniversariantesMes
fi


Att.:
Marcelo Oliver








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts