Como você está dizendo awk
para ler os dados como delimitados por vírgula, as aspas farão parte dos dados e as comparações de números inteiros falharão:
$ awk -F',' '{ print $2 }' file.txt
"09171234567"
Em vez disso, permita que a vírgula fique entre aspas:
$ awk -F'"?,"?' '{ print $2 }' file.txt
09171234567
A expressão "?,"?
significa "uma vírgula, com aspas duplas opcionais antes e / ou depois".
O código final awk
:
$ awk -F'"?,"?' '$2 >= 09170000000 && $2 <= 09179999999' file.txt
"dummy","09171234567","","dummy","dummy","dummy","dummy"
Uma condição sem {...}
bloqueará a linha de entrada atual se for avaliada como verdadeira.