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.