Enviado em 31/03/2020 - 19:28h
Olá pessoal,
Meu professor deu as seguintes atividades para serem resolvidas, no entanto, não estou sabendo como fazer utilizando o material de AWK disponível pela web, me perco em alguns comandos e o negócio acaba não fluindo. Resolvi duas das três atividades mas não sei se estão corretas. A análise do AWK precisa ser realizado em cima do primeiro .csv desse link: https://support.spatialkey.com/spatialkey-sample-csv-data/ . O nome do csv é FL_insurance_sample.csv. OBS: No meu ubuntu precisei deixar o .csv com somente 30k de linhas, com o .csv original (36635 linhas dava erro).
Os enunciados são estes:
1. Com base no arquivo de dados acima, criar um array com 3 colunas, pegando um nome e dois campos numéricos do tipo flutuante (com ponto). Imprimir as 3 ultimas linhas, porém trocando o ponto por vírgula;
Não sei como aplicar os conceitos aqui.
2. Pegar todas as linhas que contenham NASSAU e último campo maior que 2.
O que eu fiz:
3. Imprimir todos os "County" que possuam o "point_latitude" entre 29 e 31. Informar também quantos foram encontrados.
O que eu fiz:
Para executar o awk, estou usando um arquivo .awk que contém o código que dei chmod +x. Exemplo: ./atividade3.awk FL_insurance_sample.csv
Alguma luz ou um material para me basear? Obrigado!
Meu professor deu as seguintes atividades para serem resolvidas, no entanto, não estou sabendo como fazer utilizando o material de AWK disponível pela web, me perco em alguns comandos e o negócio acaba não fluindo. Resolvi duas das três atividades mas não sei se estão corretas. A análise do AWK precisa ser realizado em cima do primeiro .csv desse link: https://support.spatialkey.com/spatialkey-sample-csv-data/ . O nome do csv é FL_insurance_sample.csv. OBS: No meu ubuntu precisei deixar o .csv com somente 30k de linhas, com o .csv original (36635 linhas dava erro).
Os enunciados são estes:
1. Com base no arquivo de dados acima, criar um array com 3 colunas, pegando um nome e dois campos numéricos do tipo flutuante (com ponto). Imprimir as 3 ultimas linhas, porém trocando o ponto por vírgula;
Não sei como aplicar os conceitos aqui.
2. Pegar todas as linhas que contenham NASSAU e último campo maior que 2.
O que eu fiz:
#!/usr/bin/awk -f
/NASSAU /{
FS= ","
row = $NF
if(row>=2){
print $0
}
}
/NASSAU /{
FS= ","
row = $NF
if(row>=2){
print $0
}
}
3. Imprimir todos os "County" que possuam o "point_latitude" entre 29 e 31. Informar também quantos foram encontrados.
O que eu fiz:
#!/usr/bin/awk -f
/COUNTY /{
FS= ","
row = $NF
if(row>=29 && row<=31){
print $0
}
}
/COUNTY /{
FS= ","
row = $NF
if(row>=29 && row<=31){
print $0
}
}
Para executar o awk, estou usando um arquivo .awk que contém o código que dei chmod +x. Exemplo: ./atividade3.awk FL_insurance_sample.csv
Alguma luz ou um material para me basear? Obrigado!