GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa memfilter hasil unik dari keluaran grep?

Anda dapat melakukannya dengan sort dan uniq utilitas.

contoh:

[[email protected] ~]$ echo -e "test\ntest\ntest\nanother test\ntest"
test
test
test
another test
test
[[email protected] ~]$ echo -e "test\ntest\ntest\nanother test\ntest" | sort | uniq
another test
test

tergantung pada data, Anda mungkin ingin menggunakan beberapa sakelar juga.


Anda dapat menggunakan:

grep -rohP "(mySearchString)" . | sort -u

-r:rekursif

-o:hanya mencetak bagian teks yang cocok

-h:jangan cetak nama file

-P:regex gaya Perl (Anda dapat menggunakan -E sebagai gantinya tergantung pada kasus Anda)

sort -u lebih baik dari sort | uniq , seperti yang ditunjukkan oleh @Chris Johnsen.


Linux
  1. Bagaimana saya bisa mengecualikan direktori dari perintah ls

  2. Bagaimana cara menyalurkan output dari grep ke cp?

  3. Bagaimana saya bisa mengurutkan berdasarkan pemilik dan grup?

  1. Bagaimana saya bisa mengetahui apakah server saya memiliki semacam IPMI?

  2. Bagaimana cara mengurutkan hasil dari perintah ls berdasarkan tanggal modifikasi (direktori terlebih dahulu)?

  3. keluaran grep dari panjang ke lebar

  1. Bagaimana Mengurutkan Du Output Berdasarkan Ukuran?

  2. Bagaimana Cara Menekan Output Dari Grep, Sehingga Hanya Mengembalikan Status Keluar?

  3. Bagaimana cara menerapkan filter ke output waktu nyata dari `tail -f`?