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: Paulo
Subject: Re: [shell-script-pt] preencher campos
Date: Thu, 25 Nov 2021 17:22:33 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2

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.




reply via email to

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