GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Trouver les lignes avec la valeur la plus basse dans leur troisième colonne étant donné les résultats de Grep ?

J'ai un fichier qui se compose de lignes comme celle-ci (autres nombres inclus). Cela fait partie de la sortie de

$ grep 1848 filename.csv

Comment puis-je trouver les 5 premières lignes qui ont la troisième colonne la plus basse dans le .csv fichier étant donné que 1848 est soit dans la première ou la deuxième colonne ?

1848,2598,11.310694021273559
1848,2599,10.947275955606203
1848,2600,10.635270124233982
1848,2601,11.916564552040725
1848,2602,12.119810736845844
1848,2603,12.406661156256154
1848,2604,10.636275056472996
1848,2605,12.549890992708612
1848,2606,9.783802450936204
1848,2607,11.253697489670264
1848,2608,12.16385432290674
1848,2609,10.30355814063016
1848,2610,12.102525596913923
1848,2611,11.636595992818505
1848,2612,10.741178028606866
1848,2613,11.352414275107423
1848,2614,12.204860161717253
1848,2615,12.959915468475387
1848,2616,11.320652192610872

Malheureusement, 1848 apparaît parfois également dans la troisième colonne et je dois l'ignorer :

6687,8963,9.241848677632822
6687,9111,10.537325656184889
6687,9506,11.315629894841848

Réponse acceptée :

Avec le tri GNU :

grep -E '(^1848|^[0-9]{4},1848)' file | sort -t, -k3n | head -n 5

(si la première colonne peut avoir plus ou moins exactement 4 chiffres, remplacez {4} avec + )

Sortie :

1848,2606,9.783802450936204
1848,2609,10.30355814063016
1848,2600,10.635270124233982
1848,2604,10.636275056472996
1848,2612,10.741178028606866

Ubuntu
  1. Comment Greper les lignes qui ne commencent pas par "#" ou ";" ?

  2. Comment compter le nombre de lignes dans un fichier après une correspondance Grep ?

  3. Comment renommer l'ensemble de fichiers avec motif ?

  4. Linux - grep de certaines lignes à la fin du fichier

  5. Utilisation d'AWK pour sélectionner des lignes avec une valeur spécifique dans une colonne spécifique

Utilisation de la commande GREP sous Linux avec des exemples

Le didacticiel de la commande Grep avec des exemples pour les débutants

Le didacticiel Uniq Command avec des exemples pour les débutants

Manipuler du texte en ligne de commande avec grep

Comment remplacer le contenu d'une colonne spécifique par awk ?

Lignes Grep commençant par 1, mais pas 10, 11, 100, etc.