FabioVicente
(usa CentOS)
Enviado em 04/10/2019 - 16:51h
msoliver escreveu:
FabioVicente escreveu:
Vamos ver se entendi:
Arquivo Matricula1 tem as matriculas para cada registro do arquivo Banco1, sendo
Jose Mat 1004
Paloma Mat 3002
Claudio Mat 1001
É isso?
Att.: Marcelo Oliver
---
Sim é isso mesmo.
Pela opção2 que você respondeu, já me deu esperança, de que deve ter um jeito,
acredito que só falta, conseguir fazer usar este arquivo Matricula1,
que tem a sequencia de matriculas a ser inserido.[/quote]
Boa tarde Fabio,
Segue a solução, funcionando (testei aqui).
Tendo os arquivos no formato:
cat dados.txt
Nome,Setor,Sala,Responsável,Matrícula,Telefone
jose,RH,01,Alberto,,8001
paloma,Comercial,02,Fred,,8011
claudio,SAC,03,janaina,,8021
cat matricula.txt
1004
3002
1001
Faça :
sed '1s|^.*$|Matrícula\n&|' matricula.txt > mat_temp.txt #Insere "Matrícula", na 1ª linha
paste -d ',' dados.txt mat_temp.txt|awk -F',' '{print $1,$2,$3,$4,$7,$6}'|column -t # "Junta os dois arquivos com o paste, e o awk pega os campos...
Nome Setor Sala Responsável Matrícula Telefone
jose RH 01 Alberto 1004 8001
paloma Comercial 02 Fred 3002 8011
claudio SAC 03 janaina 1001 8021
IMPORTANTE ! echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver[/quote]
msoliver escreveu:
FabioVicente escreveu:
Vamos ver se entendi:
Arquivo Matricula1 tem as matriculas para cada registro do arquivo Banco1, sendo
Jose Mat 1004
Paloma Mat 3002
Claudio Mat 1001
É isso?
Att.: Marcelo Oliver
---
Sim é isso mesmo.
Pela opção2 que você respondeu, já me deu esperança, de que deve ter um jeito,
acredito que só falta, conseguir fazer usar este arquivo Matricula1,
que tem a sequencia de matriculas a ser inserido.[/quote]
Boa tarde Fabio,
Segue a solução, funcionando (testei aqui).
Tendo os arquivos no formato:
cat dados.txt
Nome,Setor,Sala,Responsável,Matrícula,Telefone
jose,RH,01,Alberto,,8001
paloma,Comercial,02,Fred,,8011
claudio,SAC,03,janaina,,8021
cat matricula.txt
1004
3002
1001
Faça :
sed '1s|^.*$|Matrícula\n&|' matricula.txt > mat_temp.txt #Insere "Matrícula", na 1ª linha
paste -d ',' dados.txt mat_temp.txt|awk -F',' '{print $1,$2,$3,$4,$7,$6}'|column -t # "Junta os dois arquivos com o paste, e o awk pega os campos...
Nome Setor Sala Responsável Matrícula Telefone
jose RH 01 Alberto 1004 8001
paloma Comercial 02 Fred 3002 8011
claudio SAC 03 janaina 1001 8021
IMPORTANTE ! echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver[/quote]
Desculpe a demora, sei que você não tem a obrigação de me responder, já esta me ajudando,
só estive meio "preso" no trabalho.
sed '1s|^.*$|Matricula\n&|' matricula.txt > mat_temp.txt #Insere "Matricula", na 1ª linha
-Funcionou perfeito
paste -d ',' dados.txt mat_temp.txt|awk -F',' '{print $1,$2,$3,$4,$5,$6}'|column -t
-Esta substituindo , por 2 espaços, deveria ficarem as colunas, na mesma posição.
-Abaixo esta o meu resultado, não esta inserindo o conteudo do mat_temp.txt
Nome Setor Sala Responsável Matricula Telefone
jose RH 01 Alberto 8001
paloma Comercial 02 Fred 8011
claudio SAC 03 janaina 8021
Marcelo me desculpe a demora,
sei que você não tem obrigação nenhuma de me ajudar nestes códigos,
mas esta respondendo minhas duvidas, agradeço de verdade.
Eu estive meio "preso" no trabalho, a noite chego tarde em casa,
nem ligo notebook, vou dormir logo.
sed '1s|^.*$|Matricula\n&|' matricula.txt > mat_temp.txt #Insere "Matricula", na 1ª linha
-Linha acima funcionou
paste -d ',' dados.txt mat_temp.txt|awk -F',' '{print $1,$2,$3,$4,$5,$6}'|column -t # "Junta os dois arquivos com o paste, e o awk pega os campos...
-Linha acima, para mim deu o resultado abaixo
-Também esta removendo o separador e criando um espaço a mais
Nome Setor Sala Responsável Matricula Telefone
jose RH 01 Alberto 8001
paloma Comercial 02 Fred 8011
claudio SAC 03 janaina 8021
Deveria sair como resultado, exatamente igual, apenas acrescentando as matriculas.
Nome ,Setor ,Sala,Responsável,Matricula,Telefone
jose ,RH ,01 ,Alberto ,1004 ,8001
paloma ,Comercial,02 ,Fred ,3002 ,8011
claudio,SAC ,03 ,janaina ,1001 ,8021
Sim, a primeira linha não é importante, se facilitar os comandos,
pode ser removido.