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

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

Re: [shell-script-pt] preencher campos


From: Arkanon
Subject: Re: [shell-script-pt] preencher campos
Date: Thu, 25 Nov 2021 18:00:34 -0300

Certamente, Paulo. Eu explicitei a condição mais para deixar minha sugestão completa.
Uma alternativa usando mapfile eu indiquei na minha primeira resposta.
Pensando melhor, acho que um loop tem chance de ser mais eficiente em casos de muitas, MUITAS linhas. Mas acho legal a concisão das soluções que não precisam de loops :)

Em qui., 25 de nov. de 2021 às 17:22, Paulo <phfbettega@gmail.com> escreveu:
Arkanon, sim por isso perguntei se a leitura dos arquivos vai ser linha por linha.
Se não for, vai precisar de algum filtro.
Nesse caso podia ser colocar cada arquivo num vetor com mapfile
e fazer a leitura dentro do loop.

On 25/11/2021 17:08, Arkanon wrote:
> A ideia do Paulo de usar paste *paste* pode se aplicada sem loop, desde que as linhas dos arquivos batam uma a
> uma e se saiba quantas são:
>
> part1='aws ecs create-service --cluster Desenv --service-name '
> part2=' --task-definition '
> part3=' --desired-count 0 --launch-type FARGATE --platform-version LATEST --health-check-grace-period-seconds
> 647 --load-balancers=targetGroupArn=arn:aws:elasticloadbalancing:us-east-2:XXXXXXXXX:targetgroup/'
> part4=',containerName='
> part5=',containerPort=80 --network-configuration
> "awsvpcConfiguration={subnets=[subnet-08a9d32de00f79db6,subnet-0da7320c15bb56a04],securityGroups=[sg-051413dbb0ea78d3b],assignPublicIp=ENABLED}"'
>
> n=$(wc -l < arq1)
>
> . <(
>       paste -d '' \
>         <(yes -- "$part1" | head -n $n) arq1 \
>         <(yes -- "$part2" | head -n $n) arq2 \
>         <(yes -- "$part3" | head -n $n) arq3 \
>         <(yes -- "$part4" | head -n $n) arq4 \
>         <(yes -- "$part5" | head -n $n)
>     )
>
> O *. <(...) * externo vai dar um source nos comandos resultantes do *paste* e executá-los como se fosse um
> script, no mesmo ambiente shell que estiver em uso.
>
> Acho essa solução bem mais /shell style/ e é possível que seja mais eficiente para quantidades gigantescas de
> linhas.
>
> Em qui., 25 de nov. de 2021 às 16:41, Paulo <phfbettega@gmail.com <mailto:phfbettega@gmail.com>> escreveu:
>
>     Veja se funciona com o paste alimentando um loop while.
>
>     paste <(echo -e 'arq1-linha1\narq1-linha2') <(echo -e 'arq2-linha1\narq2-linha2') <(echo -e
>     'arq3-linha1\narq3-linha2') <(echo -e 'arq4-linha1\narq4-linha2')|while read a b c d; do
>     echo a=$a b=$b c=$c d=$d;done
>     a=arq1-linha1 b=arq2-linha1 c=arq3-linha1 d=arq4-linha1
>     a=arq1-linha2 b=arq2-linha2 c=arq3-linha2 d=arq4-linha2
>
>     On 25/11/2021 15:36, Eldimar Souza wrote:
>      >
>      > Boa tarde, Paulo.
>      >
>      >    De fato o paste consegue fazer as inserções, porém não consegui usar ele pra um loop, se executar um
>     paste
>      > arquivo.txt, ele vai listar todas as linhas, mas seria como no exemplo abaixo:
>      >
>      >    Se eu executar um echo "listando os usuários`paste usuarios.txt`" ele vai me retornar assim:
>      >
>      >        listando os usuários: "linha-n1-arqui1 e na segunda linha ele lista apenas o conteúdo do
>     arquivo, sem o
>      > echo,  mas queria a saída completa para todas as linhas:
>      >          listando os usuários linha-n1-ar1
>      >          listando os usuários linha-n2-ar1
>      >          listando os usuários linha-n3-ar1
>      >
>      > Em qui., 25 de nov. de 2021 às 14:06, Paulo <phfbettega@gmail.com <mailto:phfbettega@gmail.com>
>     <mailto:phfbettega@gmail.com <mailto:phfbettega@gmail.com>>> escreveu:
>      >
>      >     Olá Eldimar, se os quatro arquivos são lidos sem pular nenhuma linha,
>      >     o paste pode ser a solução.
>      >
>      >     paste <(echo -e 'arq1-linha1\narq1-linha2') <(echo -e 'arq2-linha1\narq2-linha2') <(echo -e
>      >     'arq3-linha1\narq3-linha2') <(echo -e 'arq4-linha1\narq4-linha2')
>      >     arq1-linha1     arq2-linha1     arq3-linha1     arq4-linha1
>      >     arq1-linha2     arq2-linha2     arq3-linha2     arq4-linha2
>      >
>      >     Abraços Paulo
>      >
>      >     On 25/11/2021 12:26, Eldimar Souza wrote:
>      >      > Bom dia, pessoal
>      >      >      preciso executar o comando a seguir 44 vezes e mudando as palavras destacadas e sublinhadas
>     pelo
>      >     conteúdo
>      >      > de alguns arquivos, queria fazer um loop e ir executando a medida que o txt fosse lido, eu sei
>     usando o
>      >     xargs,
>      >      > lendo apenas um arquivo, mas minha necessidade é ler  3 arquivos diferentes com conteúdos
>     diferentes;
>      >      >
>      >      >
>      >      > aws ecs create-service \
>      >      >      --cluster Desenv \
>      >      >      --service-name *_conteudo-arquivo-1_ \*
>      >      >      --task-definition _*conteudo-arquivo-2*_  \
>      >      >      --desired-count 0 \
>      >      >      --launch-type FARGATE \
>      >      >      --platform-version LATEST \
>      >      >      --health-check-grace-period-seconds 647 \
>      >      >
>      >      >
>      >   
>       --load-balancers=targetGroupArn=arn:aws:elasticloadbalancing:us-east-2:XXXXXXXXX:targetgroup/_*conteudo-arquivo-3*_
>      >
>      >      > ,containerName=_*conteudo-arquivo-4*_,containerPort=80 \
>      >      >      --network-configuration
>      >      >
>      >   
>       "awsvpcConfiguration={subnets=[subnet-08a9d32de00f79db6,subnet-0da7320c15bb56a04],securityGroups=[sg-051413dbb0ea78d3b],assignPublicIp=ENABLED}"
>      >      >
>      >      > meus argumentos de pesquisa ainda não foram suficientes pra encontrar uma solução.
>      >      >
>      >      > Obrigado
>      >      >
>      >      > _______________________________________________
>      >      > Lista brasileira de usuários de shell script
>      >      > Endereço de e-mail da lista: shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org>
>     <mailto:shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org>>
>      >      > Para se inscrever ou desinscrever acesse:
>     https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>     <https://lists.nongnu.org/mailman/listinfo/shell-script-pt>
>      >     <https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>     <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/
>     <https://lists.nongnu.org/archive/html/shell-script-pt/>
>      >     <https://lists.nongnu.org/archive/html/shell-script-pt/
>     <https://lists.nongnu.org/archive/html/shell-script-pt/>>
>      >      >
>      >      > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>      >      >
>      >
>      >     _______________________________________________
>      >     Lista brasileira de usuários de shell script
>      >     Endereço de e-mail da lista: shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org>
>     <mailto:shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org>>
>      >     Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>     <https://lists.nongnu.org/mailman/listinfo/shell-script-pt>
>      >     <https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>     <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/
>     <https://lists.nongnu.org/archive/html/shell-script-pt/>
>      >     <https://lists.nongnu.org/archive/html/shell-script-pt/
>     <https://lists.nongnu.org/archive/html/shell-script-pt/>>
>      >
>      >     NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>      >
>      >
>      >
>      > --
>      >    ºvº     "Software Livre: não é pelo dinheiro.
>      > /( _ )\    É uma questão de consciência."
>      >   ^  ^
>      >
>      >
>      > _______________________________________________
>      > Lista brasileira de usuários de shell script
>      > Endereço de e-mail da lista: shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org>
>      > Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>     <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/
>     <https://lists.nongnu.org/archive/html/shell-script-pt/>
>      >
>      > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>      >
>
>     _______________________________________________
>     Lista brasileira de usuários de shell script
>     Endereço de e-mail da lista: shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org>
>     Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>     <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/
>     <https://lists.nongnu.org/archive/html/shell-script-pt/>
>
>     NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>
>
>
> --
> (o_ @arkanon <http://twitter.com/arkanon>  (Twitter)     __o
> //\ arkanon@lsd.org.br <mailto:arkanon@lsd.org.br> _`\<,
> V_/_ www.lsd.org.br <http://www.lsd.org.br/> (_)/(_)
> ---------------------------------
>
> _______________________________________________
> 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.
>

_______________________________________________
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.


--
(o_  @arkanon  (Twitter)     __o
//\   arkanon@lsd.org.br   _`\<,
V_/_      www.lsd.org.br  (_)/(_)
---------------------------------

reply via email to

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