Ao usar bash
, posso anexar a uma variável com +=
. Eu quero fazer algo semelhante em awk
. O que posso usar?
rl="?(+)*([$dgt])?([.,])+([$dgt])"
rl+="?([eE]?([-+])+([$dgt]))"
Ao usar bash
, posso anexar a uma variável com +=
. Eu quero fazer algo semelhante em awk
. O que posso usar?
rl="?(+)*([$dgt])?([.,])+([$dgt])"
rl+="?([eE]?([-+])+([$dgt]))"
Variáveis de string em awk são concatenadas simplesmente escrevendo-as lado a lado. Então:
(o espaço em branco intermediário é opcional).
Consulte Concatenação de strings .
BTW, se você está tentando passar uma variável shell
$dgt
para o seu programa awk, não faça assim - use algo como-v dgt="$dgt"
na linha de comando e, em seguida,rl = sprintf("?(+)*([%s])?([.,])+([%s])", dgt, dgt)
escreva-o na string. Você pode até considerar usarsprintf
para fazer a concatenação:Não sei o que significa suas tentativas de regex, de qualquer maneira, tente isto: