Pular para o conteúdo

Comparando variavel com a data do sistema [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Comparando variavel com a data do sistema [RESOLVIDO]

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

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.

Responder tópico

2. Re: Comparando variavel com a data do sistema [RESOLVIDO]

Melhor resposta

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

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.
Boa tarde acho que assim poderia funcionar

aniversariantedomes(){

MES=$(date +'%m')
for linha in $(cat arquivo); do
CAMPO=$(cat $linha | cut -d '/' -f3)
if [ "$MES" = "$CAMPO" ]; then
echo $linha >> aniversariantesMes
fi
done

cat aniversariantesMes
}

3. Re: Comparando variavel com a data do sistema [RESOLVIDO]

Enviado em 01/12/2016 - 21:22h

Eai amigo, a sintaxe estava correta porém na hora de fazer o cut na $linha ele nao estava funcionando pois ela nao é um diretorio entao tive que fazer apenas uma pequena modificação e funcionou, ficou assim:

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

Obrigado pelo ajuda!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder