shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] Como fazer um desvio dentro de um laço?


From: Cristiano Amaral
Subject: Re: [shell-script-pt] Como fazer um desvio dentro de um laço?
Date: Sun, 2 May 2021 14:47:14 -0300

No soy mas que un aprendiz de SHELL-SCRIPT, somos... Sempre há um modo de fazer melhor, mais rápido e mais elegante...

Em dom, 2 de mai de 2021 11:31, T.Collons <t.collons@gmail.com> escreveu:

Hola, espero entiendas mi repuesta en castellano.


No soy mas que un aprendiz de SHELL-SCRIPT, pero creo que a modo de ejemplo deberías enviar un fichero o enlace con datos, no validos claro, para poder hacer alguna comprobación.

Tampoco sabemos como esta organizada esa base de datos con la que enlazas pero "&page=1" me da que delimitas mucho las cosas.

No me lo tomes a mal solo intento ayudar.



El 2/5/21 a les 3:51, George Robinson ha escrit:
Boa noite lista,

Eu gostaria de solicitar ajudar com um problema que descobri recentemente enquanto escrevia um script para extrair dados de uma api e registrar um arquivo txt para dar carga em outro sistema ja com os dados formatados.

À princípio tudo ia bem até que eu descobri algo muito interessante (e para o qual não consigo sair).

Eu tenho uma api onde eu posso consultar os dados que preciso para fazer a saída em um txt. Por motivos de segurança vou deixar a URL sem o token de acesso, mas o raciocínio não será prejudicado (para os que puderem ajudar).
Vamos ao problema :P

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#1ª Parte (Chamada da URL via cURL + filtragem de dados para saída JSON)
\
curl -s --request GET --url "https://api.gupy.io/api/v1/jobs?fields=all&perPage=100&page=1" --header 'Accept: application/json' --header 'Authorization: $TOKEN' \
| jq -r '.results[] | select((.branchName!=null) and .managerName!=null)' | jq -r '"\(.id),\(.name),\(.roleName),\(.departmentName),\(.managerName),\(.branchName)"' \
| while IFS=, read jobId jobName jobRoleName departmentName jobManagerName branchName; \
do \
\
#2ª Parte (para cada jobId encontrado no while acima e que tenha um novo contratado já com data de admissao definida, extrai-se os dados relevantes do candidato, separando por virgulas)
\
curl --request GET --url "https://api.gupy.io/api/v1/jobs/$jobId/applications?status=hired&order=id%20asc&fields=all%2C&perPage=100&page=1" --header 'Accept: application/json' --header 'Authorization: $TOKEN' \
|  jq '. | select (.results[].hiringDate!=null)' \
| jq 'def older(days): (now - (strptime("%Y'-'%m'-'%d'T'%H':'%M':'%S'.000'%z") | mktime)) < (days*86400); .results[] | select (.hiringDate | older(1))' \ | jq -r '"'"$jobId"',\(.id),\(.hiringDate),\(.candidate.name),\(.candidate.lastName),\(.candidate.identificationDocument),'"$jobRoleName"','"$departmentName"',\(.candidate.mobileNumber),\(.candidate.email),'"$jobManagerName"','"$branchName"'"' \
| while IFS=, read jobId applicationId hiringDate candidateName candidateLastName candidateIdentificationDocument jobRoleName departmentName candidateMobileNumber candidateEmail jobManagerName branchName; \
do \
echo "$hiringDate,$candidateName,$candidateLastName,$candidateIdentificationDocument,$jobRoleName,$departmentName,$candidateMobileNumber,$candidateEmail,$jobManagerName,$branchName";
done; \
done;

O que de fato acontece é que se eu tenho uma determinado job com mais de um candidato contratado, apenas a primeira posição é mostrada.
Eu tentei fazer um FOR dentro desse último while mas o resultado foi uma repetição de um número de registros. Ex: 4 contratados de uma vaga aparecendo 4x cada.

Como controlar isso?
--
George Robinson

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
--



Pere

t.collons@gmail.com




------------------------------------

AVIS LEGAL

Nota de confidencialitat: Aquest missatge podria contenir missatges d'empresa i altre informació confidencial tutelada per les lleis de Europea i altres estats, Si Vostè el rep per error o sense ser una de les persones esmenades a la capçalera, haurà de destruir-lo sense copiar-lo ni revelar-l'ho o qualsevol altre acció relacionada amb el contingut del missatge i notificar-ho per correu electrònic a l'emissor del missatge.

Les persones o entitats que incompleixin els deures de confidencialitat podran ésser perseguides davant dels Tribunals de Justícia sota l'empar de la legislació civil, penal i administrativa nacional i internacional.  

Gracies per la seva cooperació.

------------------------------------

LEGAL NOTICE

Confidentiality notice: This mail may include business and other confidential information protected under the laws of and other territories. if you are not one of the intended recipients of the message, you are legally obliged to delete the message content. Furthermore, you are kindly requested to report immediately the incident to the sender.

Breach of confidentiality duties is a serious criminal offence in and other territories. Offenders shall be legally prosecuted worldwide. 

Thank you for your cooperation.



_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

JPEG image

JPEG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]