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

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

Re: [shell-script] Passar variável do shell para o AWK


From: William Alves dos Santos
Subject: Re: [shell-script] Passar variável do shell para o AWK
Date: Wed, 2 Aug 2017 21:52:55 -0300

Caros,

Segue como costumo utilizar

VARIAVEL=A; 

echo "1 2 3 4 5" | awk -v var="$VARIAVEL" '{print $0,var}'
1 2 3 4 5 A

Normalmente utilizo dentro de um laço onde será necessário realizar alguma comparação ou concatenação, enfim... Há inúmeras aplicabilidades.

Espero ter ajudado.

Abraços

Abraços

William Alves dos Santos
Cel.: (11) 99616 8602 - VIVO
Cel.: (11) 96835 8172 - TIM

Em 2 de agosto de 2017 20:52, Dito Ramos address@hidden [shell-script] <address@hidden> escreveu:
 

Olá, Mestres.
Estou "desenferrujando" meus conhecimentos sobre AWK.
Então preciso da ajuda de quem puder.
Meu script:

#!/bin/bash

# USANDO O AWK PARA DIVIDIR E FORMATAR CASAS DECIMAIS DE VALORES PASSADOS POR VARIÁVEIS DO SHELL
# SINTAXE: ./myscript.sh $1 $2 $3
# Onde: $1=Dividendo
#       $2=Divisor
#       $3=Número de casas decimais do retorno

# BEGIN ####

clear
n1=$1
n2=$2
n3=$3
export n1
export n2
export n3
echo ""
divisao=$(awk 'BEGIN {printf "" ENVIRON["n1"] "/" ENVIRON["n2"] "="  "%.5f\n", ENVIRON["n1"] / ENVIRON["n2"] ; print "(com "ENVIRON["n3"] ""; print "casas decimais.)"}')
echo "Sintaxe passada: ./my_script $1 $2 $3"
echo ""
echo "Retorno: " $divisao
echo ""

# END ####

Meu problema:
Tentei, de todas as formas, passar a variável $3 para o trecho "%.5f\n", mas não consigo.
Pergunto: podem ajudar sobre como concatenar a variável passada no SHELL, no comando AWK?

Grato desde já.

Dito Ramos



reply via email to

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