Perintah Linux

Perintah uniq Linux

Perintah uniq Linux
Apa itu "unik"? Ini adalah alat baris perintah hebat yang akan melaporkan atau menghilangkan teks duplikat apa pun di input yang diberikan. Ini adalah bagian dari coreutils GNU dan karenanya, tersedia di setiap sistem UNIX/Linux di luar sana. Mari kita mulai dengan "unik"!

penggunaan unik

Begini tampilan struktur dasar perintah "uniq".

unik

Sebagai contoh, mari kita lihat konten "duplikat".txt". Tentu saja, ini berisi banyak duplikat konten teks untuk tujuan artikel ini.

duplikat kucing.txt | menyortir

Jelas ada konten duplikat, kan? Mari kita filter mereka melalui "uniq".

duplikat kucing | urutkan | unik

Outputnya terlihat lebih baik hanya dengan nilai unik, kan?

Namun, Anda tidak perlu menggunakan metode perpipaan untuk melakukan pekerjaan itu. "uniq" dapat langsung bekerja pada file juga.

unik

Menghapus konten duplikat

Ya, menghapus konten duplikat dari input dan menjaga kemunculan pertama saja adalah perilaku default "uniq". Perhatikan bahwa penghapusan duplikat ini hanya terjadi ketika "uniq" menemukan item duplikat bersamaan.

Mari kita lihat contoh ini. Saya telah membuat "duplikat1" lain.File .txt” yang berisi item duplikat. Namun, mereka tidak berdekatan satu sama lain.

duplikat kelelawar1.txt

Sekarang, filter output ini menggunakan "uniq".

duplikat kucing1.txt | unik

Semua konten duplikat ada di sana! Itu sebabnya jika Anda bekerja dengan sesuatu yang mirip dengan ini, pipa konten melalui "sort" untuk memastikan bahwa semua konten diurutkan dan duplikat berdekatan satu sama lain.

duplikat kucing1.txt | menyortir

Sekarang, "uniq" akan melakukan tugasnya secara normal.

duplikat kucing1.txt | urutkan | unik

Jumlah pengulangan

Jika mau, Anda dapat memeriksa berapa kali sebuah baris diulang dalam konten. Cukup gunakan flag “-c” dengan “uniq”.

duplikat kucing.txt | urutkan | unik -c

Catatan: "uniq" juga akan melakukan tugas regulernya untuk menghapus duplikatnya.

Mencetak garis duplikat

Sering kali, kami ingin menyingkirkan duplikatnya, kan? Kali ini, bagaimana kalau hanya memeriksa apa yang duplikat?

Ya, "uniq" juga bisa melakukan itu. Dalam hal ini, Anda harus menggunakan opsi "-D". Saya akan menggunakan "sort" di antaranya untuk mendapatkan hasil yang lebih baik dan lebih halus.

duplikat kucing.txt | urutkan | unik -D

WOW! Itu BANYAK duplikatnya! Namun, semua duplikat dikelompokkan bersama, sehingga sulit untuk dinavigasi. Bagaimana kalau menambahkan sedikit celah di antaranya?

uniq --all-repeated=

Di sini, ada 3 metode berbeda yang tersedia: tidak ada (nilai default), tambahkan dan pisahkan.

duplikat kucing.txt | urutkan | uniq --all-repeated=prepend

duplikat kucing.txt | urutkan | uniq --all-repeated=terpisah

Sekarang, terlihat lebih baik.

Melewati pemeriksaan keunikan

Dalam banyak kasus, keunikan harus diperiksa oleh bagian garis yang berbeda.

Mari kita pahami ini dengan contoh. Dalam file duplikat1.txt, misalkan duplikasi ditentukan oleh bagian kedua. Bagaimana Anda memberi tahu "uniq" untuk melakukan itu?? Umumnya, ia memeriksa bidang pertama (secara default). Yah, kita juga bisa melakukannya. Ada bendera "-f" ini untuk melakukan pekerjaan itu.

unik -f
duplikat kucing1.txt | urutkan -k 2 | uniq -f 1

Jika Anda bertanya-tanya dengan bendera "sort", itu untuk memberi tahu "sort" untuk mengurutkan berdasarkan kolom kedua.

Tampilkan semua baris tetapi pisahkan duplikat

Menurut semua contoh yang disebutkan di atas, "uniq" hanya menyimpan kemunculan pertama dari konten duplikat dan menghapus sisanya and. Bagaimana kalau menghapus konten duplikat sama sekali?? Ya, dengan menggunakan flag “-u”, kita dapat memaksa “uniq” untuk menjaga garis non-repetitif saja.

duplikat kucing.txt | menyortir

duplikat kucing.txt | urutkan | unik -u

Hmm, terlalu banyak duplikat sekarang hilang…

Lewati karakter awal

Kami membahas bagaimana memberi tahu "uniq" untuk melakukan tugasnya untuk bidang lain, kan? Saatnya memulai pemeriksaan setelah sejumlah karakter awal initial. Untuk tujuan ini, bendera "-s" disertai dengan jumlah karakter akan memberi tahu "uniq" untuk melakukan pekerjaan itu.

duplikat kucing1.txt | urutkan -k 2 | uniq -s 2

Ini mirip dengan contoh di mana "uniq" melakukan tugasnya di bidang kedua saja. Mari kita lihat contoh lain dengan trik ini.

duplikat kucing.txt | urutkan | uniq -s 5

Periksa karakter awal HANYA

Sama seperti cara kami memberi tahu "uniq" untuk melewati karakter pasangan pertama, itu juga memungkinkan untuk memberi tahu "uniq" untuk membatasi centang di dalam karakter pasangan pertama. Ada bendera "-w" khusus untuk tujuan ini.

duplikat kucing.txt | urutkan | unik -w 5

Perintah ini memberitahu "uniq" untuk melakukan pemeriksaan keunikan dalam 5 karakter pertama.

Mari kita lihat contoh lain dari perintah ini.

duplikat kucing1.txt | urutkan | unik -w 5

Itu menghapus semua contoh lain dari entri "duplikat" karena melakukan pemeriksaan keunikan pada bagian "dupli".

Ketidakpekaan huruf besar-kecil

Saat memeriksa keunikan, "uniq" juga memeriksa kasus karakter. Dalam beberapa situasi, sensitivitas huruf besar/kecil tidak menjadi masalah, jadi kita dapat menggunakan tanda “-i” untuk membuat huruf “uniq” tidak peka.

Di sini saya menyajikan kepada Anda file demo.

Beberapa duplikasi yang sangat pintar dengan campuran huruf besar dan huruf kecil, kan? Saatnya memanggil kekuatan "uniq" untuk membersihkan kekacauan!

duplikat kucing1.txt | urutkan | uniq -i

Keinginan dikabulkan!

Keluaran yang diakhiri NULL

Perilaku default "uniq" adalah mengakhiri output dengan baris baru. Namun, output juga dapat diakhiri dengan NULL. Itu cukup berguna jika Anda akan menggunakannya dalam skrip. Di sini, bendera "-z" adalah yang berfungsi.

duplikat kucing.txt | urutkan | unik -z

Menggabungkan beberapa bendera

Kami mempelajari sejumlah bendera "uniq", kan? Bagaimana kalau menggabungkannya bersama??

Misalnya, saya menggabungkan ketidakpekaan huruf besar-kecil dan jumlah pengulangan bersama.

Jika Anda pernah berencana untuk menggabungkan beberapa bendera bersama-sama, pada awalnya, pastikan mereka bekerja dengan cara yang benar bersama-sama. Terkadang, hal-hal tidak berjalan sebagaimana mestinya.

Pikiran terakhir

"uniq" adalah alat yang cukup unik yang ditawarkan Linux. Dengan begitu banyak fitur canggih, ini dapat berguna dalam banyak cara. Untuk daftar semua bendera dan penjelasannya, lihat halaman manual dan info "uniq".

pria unik

info unik

Nikmati!

5 Produk Mouse Komputer Ergonomis Terbaik untuk Linux
Apakah penggunaan komputer yang lama menyebabkan rasa sakit di pergelangan tangan atau jari Anda?? Apakah Anda menderita persendian yang kaku dan teru...
Cara Mengubah Pengaturan Mouse dan Touchpad Menggunakan Xinput di Linux
Sebagian besar distribusi Linux dikirimkan dengan pustaka "libinput" secara default untuk menangani kejadian input pada sistem. Ini dapat memproses ke...
Petakan ulang tombol mouse Anda secara berbeda untuk perangkat lunak yang berbeda dengan Kontrol Tombol X-Mouse
Mungkin Anda membutuhkan alat yang dapat membuat kontrol mouse Anda berubah dengan setiap aplikasi yang Anda gunakan. Jika demikian, Anda dapat mencob...