GNU/Linux >> Belajar Linux >  >> Ubuntu

Menemukan Garis Dengan Nilai Terendah Di Kolom Ketiga Diberikan Hasil Grep?

Saya memiliki file yang terdiri dari baris seperti ini (termasuk nomor lain). Ini adalah bagian dari keluaran

$ grep 1848 filename.csv

Bagaimana saya bisa menemukan 5 baris teratas yang memiliki kolom ketiga terendah di .csv file mengingat 1848 ada di kolom pertama atau kedua?

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

Sayangnya 1848 terkadang muncul di kolom ketiga juga dan saya harus mengabaikannya:

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

Jawaban yang Diterima:

Dengan pengurutan GNU:

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

(jika kolom pertama mungkin memiliki kurang atau lebih dari tepat 4 digit, ganti {4} dengan + )

Keluaran:

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

Ubuntu
  1. Cetak Garis Jika Kolom Diberikan Dimulai Dengan Huruf Kapital?

  2. Bagaimana Menghitung Jumlah Baris Dalam File Setelah Pertandingan Grep?

  3. Bagaimana Mengganti Nama Kumpulan File Dengan Pola?

  1. Bagaimana cara membatasi jumlah hasil yang dikembalikan dari grep?

  2. menggunakan awk dengan kondisi nilai kolom

  3. Bagaimana cara mengganti konten kolom tertentu dengan awk?

  1. Bekerja dengan pipa di baris perintah Linux

  2. Grep – Mengapa Kurung Dalam Pola Grep Menghapus Proses Grep Dari Hasil Ps?

  3. Menggunakan AWK untuk memilih baris dengan nilai tertentu di kolom tertentu