Perintah Linux

Perintah Linux uniq

Perintah Linux uniq
Apa itu "uniq"? Ini adalah alat baris perintah yang hebat yang akan melaporkan atau menghilangkan teks pendua dalam input yang diberikan. Ini adalah sebahagian daripada inti GNU dan sebagainya, terdapat di setiap sistem UNIX / Linux di luar sana. Mari mulakan dengan "uniq"!

Penggunaan Uniq

Begini rupa struktur asas perintah "uniq".

uniq

Sebagai contoh, mari kita periksa kandungan "pendua.txt ”. Sudah tentu, ia mengandungi banyak kandungan teks pendua untuk tujuan artikel ini.

pendua kucing.txt | mengurut

Terdapat jelas isi rangkap, betul? Mari saring melalui "uniq".

pendua kucing | urutkan | uniq

Hasilnya kelihatan lebih baik hanya dengan nilai unik, betul?

Namun, anda tidak perlu menggunakan kaedah perpaipan untuk menjalankan tugas. "Uniq" boleh langsung berfungsi pada fail juga.

uniq

Memadam kandungan pendua

Ya, menghapus kandungan pendua dari input dan menyimpan kejadian pertama sahaja adalah tingkah laku lalai "uniq". Perhatikan bahawa penghapusan pendua ini hanya berlaku apabila "uniq" menemui item pendua serentak.

Mari lihat contoh ini. Saya telah membuat “pendua1” yang lain.fail txt ”yang mengandungi item pendua. Walau bagaimanapun, mereka tidak berdekatan antara satu sama lain.

pendua kelawar1.txt

Sekarang, tapis output ini menggunakan "uniq".

pendua kucing1.txt | uniq

Semua kandungan pendua ada di sana! Itulah sebabnya jika anda bekerja dengan sesuatu yang serupa dengan ini, masukkan isi melalui “sort” untuk memastikan semua kandungan disusun dan pendua berdekatan antara satu sama lain.

pendua kucing1.txt | mengurut

Sekarang, "uniq" akan melakukan tugasnya seperti biasa.

pendua kucing1.txt | urutkan | uniq

Bilangan pengulangan

Sekiranya anda mahu, anda boleh melihat berapa kali baris diulang dalam kandungan. Cukup gunakan bendera "-c" dengan "uniq".

pendua kucing.txt | urutkan | uniq -c

Catatan: "uniq" juga akan melakukan tugasnya yang biasa untuk menghapus yang pendua.

Mencetak baris pendua

Selalunya, kami mahu menyingkirkan pendua, betul? Kali ini, bagaimana dengan memeriksa apa yang diduplikasi?

Ya, "uniq" juga dapat melakukan itu. Dalam kes ini, anda harus menggunakan pilihan "-D". Saya akan menggunakan "urutkan" di antara untuk mendapatkan hasil yang lebih baik dan lebih baik.

pendua kucing.txt | urutkan | uniq -D

WOW! Itulah BANYAK pendua! Walau bagaimanapun, semua pendua digabungkan bersama-sama, sehingga sukar untuk dilayari. Bagaimana dengan menambah sedikit jurang di antara?

uniq - semua berulang =

Di sini, terdapat 3 kaedah berbeza yang tersedia: tidak ada (nilai lalai), prapasang dan terpisah.

pendua kucing.txt | urutkan | uniq --semua diulang = prepend

pendua kucing.txt | urutkan | uniq --semua diulang = terpisah

Sekarang, ia kelihatan lebih baik.

Melangkau pemeriksaan keunikan

Dalam banyak kes, keunikan harus diperiksa oleh bahagian garis yang berbeza.

Mari kita fahami ini dengan contoh. Dalam pendua fail1.txt, katakan bahawa pendua ditentukan oleh bahagian kedua. Bagaimana anda memberitahu "uniq" untuk melakukan itu? Secara amnya, ia memeriksa bidang pertama (secara lalai). Kita juga boleh melakukannya. Ada bendera "-f" ini untuk menjalankan tugas.

uniq -f
pendua kucing1.txt | urutkan -k 2 | uniq -f 1

Sekiranya anda tertanya-tanya dengan bendera "sort", memberitahu "sort" untuk menyusun berdasarkan kolum kedua.

Paparkan semua baris tetapi pendua yang terpisah

Menurut semua contoh yang disebutkan di atas, "uniq" hanya menyimpan kejadian pertama dari kandungan yang digandakan dan membuang yang lain. Bagaimana dengan membuang kandungan pendua sama sekali? Ya, dengan menggunakan bendera "-u", kita dapat memaksa "uniq" untuk menjaga garis yang tidak berulang saja.

pendua kucing.txt | mengurut

pendua kucing.txt | urutkan | uniq -u

Hmm, terlalu banyak pendua kini hilang ..

Langkau watak awal

Kami membincangkan bagaimana memberitahu "uniq" untuk melakukan tugasnya untuk bidang lain, betul? Sudah waktunya untuk memulakan pemeriksaan setelah beberapa watak awal. Untuk tujuan ini, bendera "-s" yang disertai dengan jumlah watak akan memberitahu "uniq" untuk melakukan pekerjaan.

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

Ini serupa dengan contoh di mana "uniq" hanya menjalankan tugasnya di bidang kedua sahaja. Mari lihat contoh lain dengan muslihat ini.

pendua kucing.txt | urutkan | uniq -s 5

Periksa watak awal SAHAJA

Sama seperti cara kami memberitahu "uniq" untuk melangkau watak pasangan pertama, juga mungkin untuk memberitahu "uniq" hanya membatasi pemeriksaan dalam watak pasangan pertama. Terdapat bendera "-w" khusus untuk tujuan ini.

pendua kucing.txt | urutkan | uniq -w 5

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

Mari kita lihat satu lagi contoh arahan ini.

pendua kucing1.txt | urutkan | uniq -w 5

Ini menghapuskan semua contoh entri "pendua" yang lain kerana ia memeriksa keunikan pada bahagian "dupli".

Ketidakpekaan kes

Semasa memeriksa keunikan, "uniq" juga memeriksa kes watak. Dalam beberapa situasi, kepekaan kes tidak penting, jadi kita dapat menggunakan bendera "-i" untuk menjadikan kes "uniq" tidak sensitif.

Di sini saya membentangkan fail demo kepada anda.

Sebilangan pendua benar-benar pintar dengan campuran huruf besar dan huruf kecil, betul? Sudah waktunya untuk memanggil kekuatan "uniq" untuk membersihkan kekacauan!

pendua kucing1.txt | urutkan | uniq -i

Hajat dikabulkan!

Output ditamatkan NULL

Tingkah laku lalai "uniq" adalah mengakhiri output dengan barisan baru. Walau bagaimanapun, output juga dapat ditamatkan dengan NULL. Itu cukup berguna jika anda akan menggunakannya dalam skrip. Di sini, bendera "-z" adalah apa yang berfungsi.

pendua kucing.txt | urutkan | uniq -z

Menggabungkan pelbagai bendera

Kami belajar sebilangan bendera "uniq", betul? Bagaimana dengan menggabungkannya bersama?

Sebagai contoh, saya menggabungkan kepekaan kes dan bilangan pengulangan bersama.

Sekiranya anda pernah merancang untuk menggabungkan beberapa bendera bersama-sama, pada mulanya, pastikan ia berfungsi dengan betul. Kadang-kadang, perkara tidak berjalan seperti yang sepatutnya.

Pemikiran terakhir

"Uniq" adalah alat unik yang ditawarkan Linux. Dengan ciri-ciri yang sangat hebat, ia boleh berguna dalam banyak cara. Untuk senarai semua bendera dan penjelasannya, rujuk halaman lelaki dan maklumat "uniq".

lelaki uniq

info uniq

Nikmati!

Cara Menggunakan Xdotool untuk Merangsang Klik dan Penekanan Tetikus di Linux
Xdotool adalah alat baris arahan sumber terbuka dan bebas untuk mensimulasikan klik dan tekan kekunci tetikus. Artikel ini akan merangkumi panduan rin...
5 Produk Tetikus Komputer Ergonomik Teratas untuk Linux
Adakah penggunaan komputer yang berpanjangan menyebabkan rasa sakit di pergelangan tangan atau jari anda? Adakah anda mengalami sendi kaku dan selalu ...
Cara Mengubah Tetapan Tetikus dan Pad Sentuh Menggunakan Xinput di Linux
Sebilangan besar pengedaran Linux dihantar dengan perpustakaan "libinput" secara lalai untuk menangani peristiwa input pada sistem. Ia dapat memproses...