[Commande Linux] Analyse des petites données avec la commande grep / awk / sort

introduction

C'est, KPI Item A:" S'habituer aux commandes du terminal "Item A:" S'habituer aux commandes du terminal " C'est un article de sortie de.

Histoire principale

Cette fois, j'ai utilisé grep awk sort pour traiter les données sur le serveur Linux.

Préparation

Cette fois, afin d'effectuer la recherche et le traitement de texte, nous avons obtenu un exemple de CSV à partir de ce qui suit. Il s'agit d'un ensemble de données qui résume les statistiques publiques par région. Cette fois, j'ai supprimé la partie d'en-tête et extrait uniquement la partie de données et l'ai placée sur le serveur Linux.

Le format des données est le suivant.

Code de région Préfectures Municipalité Population totale 123 pièces(Omission) Nombre d'enfants dans les écoles maternelles, etc.
R01100 Hokkaido Sapporo 1952356 ・ ・ ・ 25742

Pour la partie omise, reportez-vous à l'explication ci-dessous, le cas échéant.

Extraire uniquement les données de préfecture spécifiées

Si vous souhaitez extraire uniquement les données (ligne) d'une certaine préfecture, utilisez la commande grep. La commande Grep est une commande qui affiche les ** lignes ** qui contiennent la chaîne ou le modèle spécifié.

Extrayons uniquement les données de la "préfecture de Wakayama".

# grep "Chaîne de caractères à rechercher"Fichier
grep "Préfecture de Wakayama" data/ssdse-2019a.csv

[test@srv1 testAwk]$ grep "Préfecture de Wakayama" data/ssdse-2019a.csv
R30201 Ville de Wakayama, Préfecture de Wakayama 364154 171215 192939 360592 169798 190794 44519 22757 21762 211753 102859 108894 105954 44446 61508 50822 19092 31730 2466 2727 4449 7627 7938 153089 152798 355502 91995 14489 378 658 1751 1435618 1554108 1378159 21 2628 14298 177281 326 10259 25874 1139 2240 11469 34092 5855 4467 4079 15176 6481 10411 25096882 11457 7907392 36138 140751 2173 1478 95.6 11.6 152643733 63453773 151658392 65642801 20551722 13750658 0 28 3665 54 1131 17614 25 688 10313 14 12329 162655 90595 72060 8131 5266 2865 132002 43765 88237 3023 37094 114600 1 2 373593 43481 3094 1519 55 34 443 235 1616 335 1172 58 6830
(Omis ci-dessous)

Extraire seulement quelques données

Utilisez la commande précédemment exécutée pour la redirection. Cette fois, je vais essayer de trouver le taux d'emménagement à partir des informations de la personne qui déménage et de la personne qui emménage.

Je veux extraire uniquement les informations de la personne qui déménage et de la personne qui emménage (FY2017), j'utilise donc la commande awk. La commande awk est une commande qui formate les données divisées par le délimiteur spécifié.

La valeur par défaut est de fractionner un espace ("") comme délimiteur. Au moment de la sortie, il est possible de spécifier un élément spécifique tel que "{print $ 1}" et la sortie.

Cette fois, les informations à produire sont le nombre d'entrants, le nombre de sortants, le nombre d'entrants - le nombre de sortants. La troisième sortie produit le résultat du calcul de différence.

Numéro de sortie Numéro de colonne de données Nom de l'article ou formule Remarques
1 3 Nom municipal
2 25 Nombre de cessionnaires
3 26 Nombre de sortants
4 - Nombre de cessionnaires-Nombre de sortants 正数:Nombre de sortants以上のNombre de cessionnaires
負数:Nombre de cessionnaires以上のNombre de sortants
# awk -F'[Délimiteur(Plusieurs)]' '{commande awk}' file
[test@srv1 testAwk]$ grep "Préfecture de Wakayama" data/ssdse-2019a.csv | awk '{print $3,$25,$26,$25-$26}'
Wakayama City 7627 7938-311
Hainan City 1042 1324-282
Ville de Hashimoto 1260 1560-300
Arita City 469713-244
Gobo City 632 787-155
Tanabe City 1691 2216-525
Shingu City 815 1068-253
Ville de Kinokawa 1278 1689-411
Iwade City 1720 1753-33
Kimino Town 154225-71
Ville de Katsuragi 360430-70
Ville de Kudoyama 91112-21
Ville de Takano 88168-80
Ville de Yuasa 223313-90
Ville de Hirokawa 142202-60
Ville de la rivière Arita 611593 18
Ville de Mihama 275 289-14
Ville de Hidaka 260239 21
Ville de Yura 99169-70
Innancho 157 204-47
Ville de Minabe 196 345-149
Ville de Hidakagawa 270289-19
Ville de Shirahama 691749-58
Uetomi Tamachi 636510126
Ville de Susami 101 123-22
Nachi Katsuura Town 319527-208
Taichicho 107 127-20
Kozagawacho 74 66 8
Village de Kitayama 24 18 6
Kushimotocho 430 584-154

Trier la sortie

Il utilise également la commande précédemment exécutée pour les redirections.

Pour trier, utilisez la commande sort. La commande sort est une commande pour trier les données divisées par le délimiteur spécifié. Cette fois, définissez les options suivantes.

option argument La description
-k 4 Numéro d'article comme norme de tri
-n Comparer les critères de tri sous forme de nombres
-r Afficher par ordre décroissant
[test@srv1 testAwk]$ grep "Préfecture de Wakayama" data/ssdse-2019a.csv | awk '{print $3,$25,$26,$25-$26}' | sort  -k 4 -n -r
Uetomi Tamachi 636510126
Ville de Hidaka 260239 21
Ville de la rivière Arita 611593 18
Kozagawacho 74 66 8
Village de Kitayama 24 18 6
Ville de Mihama 275 289-14
Ville de Hidakagawa 270289-19
Taichicho 107 127-20
Ville de Kudoyama 91112-21
Ville de Susami 101 123-22
Iwade City 1720 1753-33
Innancho 157 204-47
Ville de Shirahama 691749-58
Ville de Hirokawa 142202-60
Ville de Yura 99169-70
Ville de Katsuragi 360430-70
Kimino Town 154225-71
Ville de Takano 88168-80
Ville de Yuasa 223313-90
Ville de Minabe 196 345-149
Kushimotocho 430 584-154
Gobo City 632 787-155
Nachi Katsuura Town 319527-208
Arita City 469713-244
Shingu City 815 1068-253
Hainan City 1042 1324-282
Ville de Hashimoto 1260 1560-300
Wakayama City 7627 7938-311
Ville de Kinokawa 1278 1689-411
Tanabe City 1691 2216-525

résultat

J'ai pu traiter des données simples sur le serveur Linux. Il y a plus de sortants que je ne m'y attendais. J'aimerais connaître la raison pour laquelle Uetomi Tamachi augmente de loin.

Recommended Posts

[Commande Linux] Analyse des petites données avec la commande grep / awk / sort
Analyse de données avec python 2
Analyse de données avec Python
[Linux] Restauration du système d'exploitation avec la commande restore
Analyser les données pcap avec la commande tshark
Analyse de données à partir de python (visualisation de données 1)
Analyse de données à partir de python (visualisation de données 2)
J'ai essayé l'analyse factorielle avec des données Titanic!
Analyse de données à partir de python (pré-traitement des données-apprentissage automatique)
Commande Linux n ° 4
Commande Linux n ° 3
Commande Linux n ° 5
commande grep
Analyse des données pour améliorer POG 2 ~ Analyse avec le notebook jupyter ~
Ajustez les autorisations des fichiers avec la commande Linux chmod
J'ai essayé d'analyser les principaux composants avec les données du Titanic!
[Linux] Analyse eQTL avec le logiciel de statistiques génétiques PLINK
[Introduction à minimiser] Analyse des données avec le modèle SEIR ♬
Compresser avec la commande zip linux côté java
[Analyse vocale] Collectez des données sur le chant des oiseaux avec xeno-canto
[Linux] Comment afficher l'utilisation du processeur avec la commande ps, afficher l'en-tête et ne pas afficher le processus grep