awk aceitando variável fornecida pelo cifrão em cshell [duplicata]

0

No script de shell c, estou tentando passar bbb para awk sub, mas aparentemente ele não funciona.

#!/bin/csh
set aaa=a
set bbb=b

#And I'm using it in awk sub

set ccc='echo $aaa | awk '{sub("a",$bbb); print $0}''

echo $ccc

Mas echos vazios e não sei porquê.

Note que se eu substituir $ bbb por "b", então funciona bem.

    
por cdnszip 18.07.2016 / 10:08

1 resposta

1

Você precisa passar a variável shell para awk . Com

set ccc='echo $aaa | awk -v bb=$bbb '{sub("a",bb); print $0}''

feche e reabra a cota awk ao se referir à variável shell:

set ccc='echo $aaa | awk '{sub("a",'$bbb'); print $0}''
    
por 18.07.2016 / 10:19

Tags