... cidades por código de área:
$ grep -w 202 areacodes.txt 202 DC Washington
ou por qualquer string no ficheiro:
$ grep Washing areacodes.txt 202 DC Washington 227 MD Silver Spring, Washington suburbs, Frederick 240 MD Silver Spring, Washington suburbs, Frederick ⋮
Conta os códigos de área com wc:
$ wc -l areacodes.txt 375 areacodes.txt
Descobre o estado com mais códigos de área (o vencedor é a Califórnia com 38):
$ cut -f2 areacodes.txt | sort | uniq -c | sort -nr | head -n1
38 CA
Converte o ficheiro para o formato CSV para o importar para uma aplicação de folha de cálculo. Imprime o terceiro campo entre aspas duplas para evitar que as suas vírgulas sejam interpretadas como caracteres separadores de CSV:
$ awk -F'\t' '{printf "%s,%s,\"%s\"\n", $1, $2, $3}' areacodes.txt \
> areacodes.csv
$ head -n3 areacodes.csv
201,NJ,"Hackensack, Jersey City"
202,DC,"Washington"
203,CT,"New Haven, Stamford"
Agrupa todos os códigos de área de um determinado estado numa única linha:
$ awk '$2~/^NJ$/{ac=ac FS $1} END {print "NJ:" ac}' areacodes.txt
NJ: 201 551 609 732 848 856 862 908 973
ou compila para cada estado, utilizando as matrizes e for loops como em "Melhorar o detetor de ficheiros duplicados":
$ awk '{arr[$2]=arr[$2] " " $1} \
END {for (i in arr) print i ":" arr[i]}' areacodes.txt \
| sort
AB: 403 780
AK: 907
AL: 205 251 256 334 659
⋮
WY: 307
Transforma qualquer um dos comandos anteriores em aliases, funções ou scripts, o que for conveniente. Um exemplo simples é o script areacodeno Exemplo 9-4 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access