Eu tenho um loop while que lê dados de um arquivo com nomes de cidades:
city_name:
COIMBATORE
MADURAI
PONDICHERRY
SALEM
TRIPUR
TIRUCHI
TIRUNELVELI
TUTUCORIN
VELLORE
e usando um comando awk
no loop while
e tentando ler a variável definida em while loop body novamente na instrução awk
, no entanto, isso não está funcionando e me dando erros. Eu entendo que awk
requer que as variáveis sejam definidas para seu corpo separadamente para permitir que awk
entenda o uso da variável e possa ler seu valor.
Meu loop while é como o seguinte:
while read city
do
awk -F, '{
if ( $1 == "ACTIVE" ) &&
( $2 == "$city" )
print $1
}' siteDBName >> count
SUM='awk '{ sum += $1 } END { print sum }' count'
done < city_name
em que o arquivo siteDBName contém várias colunas com dados como os seguintes:
siteDBName:
ACTIVE,COIMBATORE,MGT500,1,5,7....
INACTIVE,MADURAI,GT500,5,6,7...
ACTIVE,SALEM,TR600,6,4,6...
ACTIVE,COIMBATORE,GT500,4,5,6...
..
..
Aqui, eu tentei usar o awk -v c=$city
junto com o resto das declarações, mas isso também me deu erros.
Como posso usar a variável usada e inicializada no loop while dentro da instrução awk dentro deste loop while?